1、列表
列表是Python提供的一种非常适合利用顺序和位置的定位某一元素的数据结构,与字符串不同,列表是可变的,我们可以直接对原始列表进行修改:添加、删除、覆盖。列表中允许出现相同的值。
2、列表的创建
使用[] 或者 list()创建一个列表,list()也可用于将其他数据类型转换为一个列表
>>> empty_list=[]
>>> empty_list
[]
>>> big_bird=['emu','ostrich','cassowary']
>>> big_bird
['emu', 'ostrich', 'cassowary']
>>> another_empty_list=list()
>>> another_empty_list
[]
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
>>> list(('zhangsan','lisi','wangwu'))
['zhangsan', 'lisi', 'wangwu']
>>> a=[[1,2,3],['a','b','c'],['hello','world']]
>>> a
[[1, 2, 3], ['a', 'b', 'c'], ['hello', 'world']]
>>>
注意:列表可以嵌套,即列表中可以包含列表
3、列表中的一些基本操作符
Python表达式 | 结果 | 描述 |
---|---|---|
[1,2,3]+[4,5,6] | [1,2,3,4,5,6] | 列表拼接 |
[1,2]*3 | [1,2,1,2,1,2] | 重复 |
3 in [1,2,3] | True | 判断元素是否在列表中 |
for x in [1,2,3] : print(x) | 1 2 3 | 迭代 |
4、获取元素和修改元素
和字符串一样,可以通过偏移量来提取对应位置的元素,由于列表是可变的,可以向通过偏移量访问元素一样利用赋值对其进行修改。
>>> a=[1,2,3,4,5,6,7]
>>> a[2]
3
>>> a[-1]
7
>>> a[0]=10
>>> a[-2]=11
>>> a
[10, 2, 3, 4, 5, 11, 7]
>>>
5、指定范围并使用切片提取元素
和字符串切片提取方式相同
具体内容见我的博客 Python字符串
6、常见函数
函数名 | 描述 |
---|---|
len(list) | 列表长度 |
max(list) | 列表中的最大值 |
min(list) | 列表中的最小值 |
>>> a
[10, 2, 3, 4, 5, 11, 7]
>>> a
[10, 2, 3, 4, 5, 11, 7]
>>> len(a)
7
>>> max(a)
11
>>> min(a)
2
>>>
7、常用方法
方法 | 描述 |
---|---|
append(obj) | 向列表中添加元素 |
count(obj) | 统计某个元素在列表中出现的次数 |
extend(seq) | 向列表末尾一次性添加一个序列中的多个值 |
index(obj) | 某个元素第一次出现的索引值 |
insert(index,obj) | 向列表中插入一个元素 |
pop([index]) | 移除并返回列表中该索引处的元素,默认最后一个元素 |
remove(obj) | 移除列表中某个元素的第一个匹配项 |
reverse() | 反转列表 |
sort([func]) | 对列表排序 |
clear() | 清空列表 |
copy() | 复制列表 |
>>> a=[1,2,3,4,5]
>>> a.append(6)
>>> a
[1, 2, 3, 4, 5, 6]
>>> a.count(2)
1
>>> a.extend([7,8,9])
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a.extend((10,11,12))
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> a.index(2)
1
>>> a.index(-1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: -1 is not in list
>>> a.insert(0,-1)
>>> a
[-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> a.pop()
12
>>> a
[-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> a.pop(1)
1
>>> a
[-1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> a.remove(-1)
>>> a
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> a.reverse()
>>> a
[11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
>>> a.sort()
>>> a
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> b=a.copy()
>>> b
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> a.clear()
>>> a
[]
>>> b
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>>