python_列表
列表
列表是Python中最灵活的容器,有序、可变、允许重复元素,支持任意数据类型的存储(数字、字符串、容器等),底层基于动态数组实现,适用于需要频繁修改数据的场景。
创建列表的方法
- 通过list()函数创建列表:
print(type(list(('aa','bb')))) # <class 'list'>
- 注意:在使用 list() 函数创建列表时,一定要注意双括号。
- 通过[]定义:
list=[] | list=[1,2]
常用函数
- 访问列表中的值
- 列表索引从0开始,以此类推。
- 通过索引列表可以进行截取、组合等操作
list=['a','b','c','d','e','f']
print(list[1]) # b
- 索引也可以从尾部开始,最后一个元素的索引为-1,往前一位为-2,以此类推。
list=['a','b','c','d','e','f']
print(list[-1]) # f
- 可以使用[]的形式截取字符串
nums=[10,20,30,40,50,60,70,80]
print(nums[0:4]) # [10, 20, 30, 40]
print(nums[1:-2]) # [20, 30, 40, 50, 60]
- 更新列表|添加数据
- 通过索引切片:list[n]=x;相当于修改list[n]的值。
- 在列表末尾添加新的对象:list.append(obj)
list=['a','b','c','d','e','f',1,2,3,4]
list.append(5)
print(list) # ['a', 'b', 'c', 'd', 'e', 'f', 1, 2, 3, 4, 5]
- 将对象插入列表:list.insert(index,obj)
- 根据索引插入对象,原有对象向后移动一位
list=['a','b','c','d','e','f',1,2,3,4]
list.insert(6,'g')
print(list) # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 1, 2, 3, 4]
- 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表):list.extend(seq)
list1=[1,2,3]
list2=['d',5,6]
list1.extend(list2)
print(list1) # [1, 2, 3, 'd', 5, 6]
- 移除列表中某个值的第一个匹配项:list.remove(obj)
list3=[1,1,2,3,4]
list3.remove(1)
print(list3) # [1, 2, 3, 4]
- 删除列表中的元素(根据索引删除):del list[index]
list3=[1,2,3,4,5]
del list3[2]
print(list3) # [1, 2, 4, 5]
- 移除列表中最后一个元素,并且返回该元素的值:list.pop([index=-1])
list3=[1,2,3,4,5]
print(list3.pop()) # 5
print(list3) # [1, 2, 3, 4]
- 在列表中找出某个值第一个匹配项的索引位置:list.insert(index, obj)
list3=[1,2,3,4,5]
print(list3.index(4)) # 3
- 排序 - 升序:list.sort( key=None, reverse=False)
list3=[119,2,9,22,1,0]
list3.sort()
print(list3) # [0, 1, 2, 9, 22, 119]
list3.sort(reverse=True)
print(list3) # [119, 22, 9, 2, 1, 0]
- 排序:sorted(list,reverse=True|False)
list3=[119,2,9,22,1,0]
print(sorted(list3,reverse=True)) # 降序
print(sorted(list3,reverse=False)) # 升序
- 反向列表中的元素:list.reverse()
list3=[119,2,9,22,1,0]
list3.reverse()
print(list3) # [0, 1, 22, 9, 2, 119]
- 列表元素个数:len(list)
- 返回列表元素最大值:max(list)
- 返回列表元素最小值:min(list)
- 将元组转化为列表:list(seq)
print(list((1,2,3))) # [1,2,3] - 统计某个元素在列表中出现的次数:list.count(obj)
- 清空列表:list.clear()
- 复制列表:list.copy()
列表比较
列表比较需要引入 operator 模块的 eq 方法
import operator
a=[1,2]
b=[2,3]
c=[2,3]
print('operator.eq(a,b)',operator.eq(a,b)) # false
print('operator.eq(c,b)',operator.eq(c,b)) # true
嵌套列表
使用嵌套列表即在列表里创建其他列表
列表脚本操作费
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
| Python 表达式 | 结果 | 描述 |
|---|---|---|
| len([1, 2, 3]) | 3 | 长度 |
| [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
| ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
| 3 in [1, 2, 3] | True | 元素是否存在于列表中 |
| for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |

浙公网安备 33010602011771号