列表:Python的主力
修改列表:给元素赋值
>>>x = [1,1,1]
>>>x[1] = 2
>>>x
[1,2,1]
删除元素:使用del语句即可
>>>names = ['Alice','Beth','Cecil','Dee-Dee','Earl']
>>>del names[2]
>>>names
['Alice','Beth','Dee-Dee','Earl']
给切片赋值
>>>name = list('Perl')
>>>name
['P','e','r','l']
>>>name[2:] = list('ar')
>>>name
['P','e','a','r']
使用切片赋值还可以在不提换原有元素的情况下插入新元素
>>>numbers = [1,5]
>>>numbers[1:1] = [2,3,4]
>>>numbers
[1,2,3,4,5]
>>>numbers[1:4] = []
>>>numbers
[1,5]
列表方法
方法append用于将一个对象附加到列表末尾
>>>lst = [1,2,3]
>>>lst.append(4)
>>>lst
[1,2,3,4]
方法clear就地清空列表的内容
>>>lst = [1,2,3]
>>>lst.clear()
>>>lst
[]
方法copy复制列表,要让a和b指向不同的列表,就必须将B关联到a的副本。
>>> a = [1,2[3]
>>> b = a
>>> b[1] = 4
>>>a
[1,4,3]
方法count计算指定的元素在列表中出现了多少次
>>>['to','be','or','not','to','be'].count('to')
2
>>>x = [[1,2],1,1,[2,1,[1,2]]]
>>>x.count(1)
2
>>>x.count([1,2])
1
方法extend可以同时将多个值附加到列表末尾,为此可将这些值组成的序列作为参数提供给方法extend。
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>>a
[1,2,3,4,5,6]
方法index在列表中查核灶指定值第一次出现的索引
>>>kningts = ['We' ,'are', 'the' ,'kningts', 'who', 'say' ,'ni']
>>>knigths.index('who')
4
>>>knights[4]
'who'
方法insert用于将一个对象插入列表
>>>numbers = [1,2,3,5,6,7]
>>>numbers.insert(3,'four')
>>>numbers
[1,2,3,'four',5,6,7]
方法pop从列表中删除一个元素(末尾为最后一个元素),并返回这一元素。pop是唯一既修改列表又返回一个非None值的列表方法。
>>>x = [1,2,3]
>>>x.pop()
3
>>>x
[1,2]
>>>x.pop(0)
1
>>>x
[2]
方法remove用于删除第一个为指定值的元素
>>>x = ['to','be','or','not','to','be']
>>>x.remove('be')
>>>x
['to','or','not','to','be']
方法reverse按相反的顺序排列列表中的元素
>>>x = [1,2,3]
>>>x.reverse()
>>>x
[3,2,1]
方法sort用于对列表就地排序,接受两个可选参数:key和reverse 。
>>>x = [4,6,2,1,7,9]
>>>x.sort()
>>>x
[1,2,4,6,7,9]
>>>x = ['aardvark','abalone','acme','add','aerate']
>>>x.sort(key = len)#按长度排序,由小到大
>>>x
['add','acme','aerate','abalone','aardvark']
>>>x = [4,6,2,1,7,9]
>>>x.sort(reverse = True)
>>>x
[9,7,6,4,2,1]
元组:不可修改的序列
与列表一样,元组也是序列,唯一的差别在于元组是不能修改的。
元组的切片也是元组,就像列表的切片也是列表一样。元组的语法很简单,只要将一些值用逗号分隔,就能自动创建一个元组。
>>>(1,2,3)
(1,2,3)
>>>1,2,3
(1,2,3)
>>>42,
(42,)
>>>(42,)
(42,)
>>>3*(40+2,)
(42,42,42)
函数tuple的工作原理和list很像:它将一个序列作为参数,并将其转换为元组。
>>>tuple([1,2,3])
(1,2,3)
>>>tuple('abc')
('a','b','c')