概 述:Python列表 –- 列表是最具灵活性的有序集合对象类型。列表可以包含任何种类的对象:数字、字符串甚至其他列表。列表是可变对象,支持在原处修改的操作。列表是任意对象的有序集合,可以通过偏移读取。
1 列表通用序列操作
1.1 索引
1 2 3 |
>>> a = list('Hello') >>> a[0] 'H' |
1.2 分片
1 2 3 |
>>> china = ['shandong','jiangsu','shanghai'] >>> china[1:2] ['jiangsu'] |
1.2 加法
1 2 3 4 |
>>> a = ["I","Love","you"] >>> b = ["hinata","xlx"] >>> a + b ['I', 'Love', 'you', 'hinata', 'xlx'] |
1.3 乘法
1 2 |
>>> ["hinata","nici"] * 3 ['hinata', 'nici', 'hinata', 'nici', 'hinata', 'nici'] |
1.4 成员资格
1 2 3 4 5 |
>>> china = ["shandong","shanghai","jiangsu","beijing"] >>> "shandong" in china True >>> "beihaidao" in china False |
1.5 长度、最小值和最大值
1 2 3 4 5 6 7 |
>>> number = [5,2,1,1,3,1,4] >>> len(number) 7 >>> min(number) 1 >>> max(number) 5 |
2 基本列表操作
2.1 列表元素赋值
1 2 3 4 |
>>> x = [1,1] >>> x[0] = 2 >>> x [2, 1] |
2.2 删除元素
删除元素使用 del语句来实现。
1 2 3 4 5 |
names = ['Alice','Beth','Hinata','Earl'] >>> del names[2] >>> names ['Alice', 'Beth', 'Earl'] >>> |
2.3 分片赋值
1 2 3 4 5 6 7 8 9 10 11 12 |
>>> name = list('SK.Lavendr') >>> name ['S', 'K', '.', 'L', 'a', 'v', 'e', 'n', 'd', 'r'] >>> name[1:3] = list('hi') >>> name ['S', 'h', 'i', 'L', 'a', 'v', 'e', 'n', 'd', 'r'] >>> name[1:3] = list('hinata') >>> name ['S', 'h', 'i', 'n', 'a', 't', 'a', 'L', 'a', 'v', 'e', 'n', 'd', 'r'] >>> name[1:3] = list('t') >>> name ['S', 't', 'n', 'a', 't', 'a', 'L', 'a', 'v', 'e', 'n', 'd', 'r'] |
可以看出,在使用分片赋值时,可以使用与预案序列不等长的序列将分片替换。
3 列表方法
3.1 append
函数功能:在列表末尾追加新的对象
1 2 3 4 5 6 7 |
>>> list = [1,2,3] >>> list.append(4) >>> list [1, 2, 3, 4] >>> list.append([1,2]) >>> list [1, 2, 3, 4, [1, 2]] |
3.2 count
函数功能:统计某个元素在列表中出现的次数
1 2 |
>>> [3,1,4,1,5,9,2,6].count(1) 2 |
3.3 extend
函数功能:可以在列表的末尾一次性追加另一个序列中的多个值
1 2 3 4 5 |
>>> a = [1,2,3] >>> b = [4,5,6] >>> a.extend(b) >>> a [1, 2, 3, 4, 5, 6] |
3.4 index
函数功能:用于从列表中找出某个值第一个匹配项的索引的位置
1 2 3 |
>>> knights = ['we','are','the','knights','who','say','no'] >>> knights.index('who') 4 |
3.5 insert
函数功能:用于将对象插入到列表中
1 2 3 4 |
>>> numbers = [1,2,3,5,6,7] >>> numbers.insert(3,'four') >>> numbers [1, 2, 3, 'four', 5, 6, 7] |
3.6 pop
函数功能:移除列表中的一个元素(默认是最后一个),并且返回该元素的值
1 2 3 4 5 6 7 |
>>> x = [1,2,3] >>> x.pop() 3 >>> x.pop(0) 1 >>> x [2] |
3.7 remove
函数功能:用于移除列表中某个值的第一个匹配项
1 2 3 4 5 6 7 8 |
>>> x = ['to','be','or','not','to','be'] >>> x.remove('be') >>> x ['to', 'or', 'not', 'to', 'be'] >>> x.remove('bb') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list |
3.8 reverse
函数功能:将列表中的元素反向存放
1 2 3 4 |
>>> x = [1,2,3] >>> x.reverse() >>> x [3, 2, 1] |
3.9 sort
函数功能:用于在原位置对列表进行排序,改变了原来的列表,而不是返回一个已排好序的列表
1 2 3 4 |
>>> x = [4,6,2,1,7,9] >>> x.sort() >>> x [1, 2, 4, 6, 7, 9] |