列表
列表和字符串之间的转换
>>> li = list('hello')
>>> li
['h', 'e', 'l', 'l', 'o']
>>> li[0] = 'H'
>>> li
['H', 'e', 'l', 'l', 'o']
>>> ''.join(li)
'Hello'
>>>
列表删除元素
>>> numbers
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>
>>> del numbers[0:3]
>>> numbers
[4, 5, 6, 7, 8, 9, 10]
>>>
给切片赋值
切片赋值,可同时给多个元素赋值,可将切片替换为长度与其不同的序列。
>>> name = list('Perl')
>>> name[1:] = 'ython'
>>> name
['P', 'y', 't', 'h', 'o', 'n']
使用切片赋值还可以在不替换原有元素的情况下插入新元素。
>>> numbers = [1, 5]
>>> numbers[1:1]
[]
>>> numbers[1:1] = [2, 3, 4]
>>> numbers
[1, 2, 3, 4, 5]
append
将对象附加到列表末尾。
>>> numbers
[11, 10, 9, 8, 7]
>>> numbers.append(1)
>>> numbers
[11, 10, 9, 8, 7, 1]
clear
清空列表内容。
>>> numbers
[11, 10, 9, 8, 7, 1]
>>> numbers.clear()
>>> numbers
[]
copy
复制列表,常规复制只是将另一个名称关联到列表。
>>> a = [1, 2, 3]
>>> b = a
>>> b
[1, 2, 3]
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]
要让a和b指向不同的列表,就必须让b关联a的副本。
>>> a = [1, 2, 3]
>>> b = a.copy()
>>> b
[1, 2, 3]
>>> b[1] = 4
>>> b
[1, 4, 3]
>>> a
[1, 2, 3]
count
计算指定元素在列表中出现的次数。
>>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to')
2
extend
可以将多个值附加到列表末尾,可以将这些值的序列作为参数提供给extend方法。
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>>
这种效果类似于拼接,不同的是,extend会修改即将被扩展的序列,而拼接则是返回一个全新的序列。
index
在列表中查找某个值第一次出现的索引。
>>> knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
>>> knights.index('who')
4
insert
将一个对象插入列表。
>>> numbers = [1, 2, 3, 4, 5, 6]
>>> numbers
[1, 2, 3, 4, 5, 6]
>>> numbers.insert(3, 'four')
>>> numbers
[1, 2, 3, 'four', 4, 5, 6]
>>>
pop
从列表中删除一个元素(默认是最后一个元素),并返回这一元素。
>>> numbers
[1, 2, 3, 'four', 4, 5, 6]
>>> numbers.pop()
6
>>> numbers.pop(-2)
4
remove
删除第一个为指定值的元素
>>> x = ['a', 'b', 'a', 'c', 'd']
>>> x.remove('a')
>>> x
['b', 'a', 'c', 'd']
>>>
reverse
对列表中的元素反向排序
>>> numbers = [1, 2, 3]
>>> numbers.reverse()
>>> numbers
[3, 2, 1]
sort
对列表就地排序,就地排序意味着对原来的列表进行修改,使其元素按顺序排列,而不是返回排序后的列表的副本。
>>> a = [5, 3, 4, 2, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]
sort接受两个可选参数:key和reverse,这两个参数通常按名称指定的,称为关键词参数。
设置一个用于排序的函数,使用它来为每个元素创建一个键,根据这些键为元素进行排序。
>>> x = ['apple', 'tomato', 'banana', 'orange', 'pear']
>>> x.sort(key=len)
>>> x
['pear', 'apple', 'tomato', 'banana', 'orange']
>>>
reverse指定一个真值(True,False)来对列表进行正向或反向排序。
>>> numbers = ['5', '4', '7', '9', '2']
>>> numbers.sort(reverse=True)
>>> numbers
['9', '7', '5', '4', '2']
>>> numbers.sort(reverse=False)
>>> numbers
['2', '4', '5', '7', '9']
元组
与列表一样,元组也是序列,唯一差别是元组是不可修改的。只要将一些值以逗号分隔,就能自动创建一个元组。
只包含一个值的元组
>>> 42,
(42,)
空元组
>>> ()
()
tuple
将一个序列作为参数,并转换为元组。
>>> tuple([1, 2 , 3])
(1, 2, 3)
>>> tuple('python')
('p', 'y', 't', 'h', 'o', 'n')
>>>