从列表中获取元素

跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素,注意,列表索引值是从 0 开始的。

['u', 'a', 'b', 'c', 'd', 'e', 'k', 'f']

>>> member[0]

'u'

>>> member[1]

'a'

>>>

>>> temp = member[0]

>>> member[0] = member[1]

>>> member

['a', 'a', 'b', 'c', 'd', 'e', 'k', 'f']

>>> member[1] = temp

>>> member

['a', 'u', 'b', 'c', 'd', 'e', 'k', 'f']

>>> 

 

从列表删除元素

remove()

>>> member.remove('b')

>>> member

['a', 'u', 'c', 'd', 'e', 'k', 'f']

>>> 

del

>>> del member[0]

>>> member

['u', 'c', 'd', 'e', 'k', 'f']

>>> 

pop()

>>> member.pop()

'f'

>>> member

['u', 'c', 'd', 'e', 'k']

>>> name=member.pop()

>>> name

'k'

>>> member.pop(2)

'd'

>>> 


列表分片(Slice)

利用索引值,每次我们可以从列表获取一个元素,但是我们总是贪心的,如果一次性需要获取多个元素,有没有办法实现呢?利用列表分片,我们可以简单的实现这个要求。

>>> member[1:3]

['c', 'e']

>>> 

>>> member

['u', 'c', 'e']

>>> member[:3]

['u', 'c', 'e']

>>> member[:]

['u', 'c', 'e']

>>> member[1:]

['c', 'e']

>>> 

列表的一些常用操作符

比较操作符

>>> list1 = [123]

>>> list2 = [234]

>>> list1 > list2

False

>>> list1 = [123,456]

>>> list2 = [234,123]

>>> list1 > list2

False

>>> list3=[123,456]

逻辑操作符

>>> (list1 < list2) and (list1 == list3)

True

连接操作符

>>> list4 = list1 + list2

>>> list4

[123, 456, 234, 123]

>>> list1 + 'x'

Traceback (most recent call last):

  File "<pyshell#79>", line 1, in <module>

    list1 + 'x'

TypeError: can only concatenate list (not "str") to list

重复操作符

>>> list3 * 3

[123, 456, 123, 456, 123, 456]

>>> list3 *= 3

>>> list3

[123, 456, 123, 456, 123, 456]

>>> list3 *= 5

>>> list3

[123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456]

>>> 

成员关系操作符

>>> 123 in list3

True


>>> 'd' not in list3

True

>>> 123 not in list3

False

>>>

>>> list5 = [123,['d','u'],456]

>>> 'd' in list5

False

>>> 'd' in list5[1]

True

>>> list5[1][1]

'u'

>>> 

列表的小伙伴们


>>> dir(list)

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

>>> list3.count(123)

15

>>> list3.index(123)

0

>>> list3.index(123,3,7)

4

>>> list3.reverse()

>>> list3

[456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123]

>>> list6 = [4,5,1,7,0,9]

>>> list6.sort()

>>> list6

[0, 1, 4, 5, 7, 9]

>>> list6.sort(reverse=True)

>>> list6

[9, 7, 5, 4, 1, 0]

>>> 

关于分片“拷贝”概念的补充


>>> list7 = list6[:]

>>> list7

[9, 7, 5, 4, 1, 0]

>>> list8 = list6

>>> list8

[9, 7, 5, 4, 1, 0]

>>> list6.sort()

>>> list6

[0, 1, 4, 5, 7, 9]

>>> list7

[9, 7, 5, 4, 1, 0]

>>> list8

[0, 1, 4, 5, 7, 9]

>>> 

5.Python入门到精通_Python
元组:戴上了枷锁的列表

由于和列表是近亲关系,所以元组和列表在实际使用上是非常相似的。

我们这节课主要通过讨论元组和列表到底有什么不同来学习元组,酱紫大家就不会觉得老是重复一样的内容。

我们主要从以下几个点来讨论学习:

创键和访问一个元组

>>> temp=(1)

>>> temp

1

>>> type(temp)

<class 'int'>

>>> temp2=2,3,4

>>> type(temp2)

<class 'tuple'>

>>> temp = []

>>> type (temp)

<class 'list'>

>>> temp = ()

>>> type(temp)

<class 'tuple'>

>>> temp = (1,)

>>> type(temp)

<class 'tuple'>

>>> 

>>> temp = 1,

>>> type(temp)

<class 'tuple'>

>>> 8 * (8)

64

>>> 8 * (8,)

(8, 8, 8, 8, 8, 8, 8, 8)

>>> 

更新和删除一个元组

>>> temp = ('d','c','a','b')

>>> temp = temp[:3] + ('f',) + temp[3:]

>>> temp

('d', 'c', 'a', 'f', 'b')

>>> del temp

>>> temp

Traceback (most recent call last):

  File "<pyshell#148>", line 1, in <module>

    temp

NameError: name 'temp' is not defined

>>> 

元组相关的操作符


>>> str1 = 'I love Python'

>>> str1[:6]

'I love'

>>> str1

'I love Python'

>>> str1[6]

' '

>>> str1[5]

'e'

>>> str1[:6] + 'inserstr' + str1[6:]

'I loveinserstr Python'

>>> str1

'I love Python'

>>> 

字符串:各种奇葩的内置方法


5.Python入门到精通_Python_02

5.Python入门到精通_Python_03


>>> str2 = 'ivwdcwso'

>>> str2.capitalize()

'Ivwdcwso'

>>> str2='IvwDcwSo'

>>> str2.casefold()

'ivwdcwso'

>>> str2

'IvwDcwSo'

>>> str2.center(40)

'                IvwDcwSo                '

>>> str2.count('w')

2

>>> str2.endswith('w')

False

>>> str2.endswith('o')

True

>>> str3 = 'I\tlove\tPython!'

>>> str3.expandtabs()

'I       love    Python!'

>>> str3.find('efc')

-1

>>> str3.find('o')

3

>>> 


>>> str3

'I\tlove\tPython!'

>>> str3.istitle()

False

>>> str3.join('123')

'1I\tlove\tPython!2I\tlove\tPython!3'

>>> 


>>> str6 = '    I love Python!'

>>> str6.lstrip()

'I love Python!'

>>> str6 = 'i love python'

>>> str6.partition('ov')

('i l', 'ov', 'e python')

>>> str6

'i love python'

>>> str6.replace('python','Python')

'i love Python'

>>> 


>>> str6.split()

['i', 'love', 'python']

>>> 

>>> str6.split('i')

['', ' love python']

>>> 

>>> str7 = '    aaaa     '

>>> str7.strip()

'aaaa'

>>> str7=str7.strip()

>>> str7

'aaaa'

>>>