本文共 2155 字,大约阅读时间需要 7 分钟。
列表是一种非常强大的数据结构,可以存储多种数据类型的元素。以下是列表的核心特性:
for 循环来遍历。列表的创建有两种主要方式:
直接创建:
l = [1, 2, 3] # 整型列表l = ['a', 'b', 'c'] # 字符串列表l = [1, 'a', False] # 混合列表l = [] # 空列表
构造方法:
list() # 返回一个空列表list(iterable) # 将可迭代对象(如字符串、range)的元素转换为列表
l = [1, 2, 3]print(l[0]) # 输出 1
l = [1, 2, 3]print(l[1:3]) # 输出 [2, 3]
l2 = list('abcdefg')for i in l2: print(i) l = []l.append(10) # 向列表末尾添加元素
l = []l.extend([1, 2, 3]) # 将 iterable 的元素添加到列表末尾
l = [1, 2, 3]l.insert(1, 5) # 在位置 1 插入 5,列表变为 [1,5,2,3]
l = [1, 2, 3]l[0] = 99 # 修改列表中第一个元素
清空列表
l = [1, 2, 3]l.clear() # 列表变为空 []
删除最后一个元素
l = [1, 2, 3]l.pop() # 删除并返回 3,列表变为 [1, 2]
按值删除元素
l = [1, 2, 3, 4, 5]l.remove(3) # 删除一个 3,列表变为 [1, 2, 4, 5]
删除指定位置的元素
l = [1, 2, 3, 4, 5]del l[0] # 删除第一个元素,列表变为 [2, 3, 4, 5]
len(list) - 1。len() 函数获取列表长度。列表在内存中是连续存储的,列表中的每个元素实际上是数据的首地址,而不是数据本身。
浅拷贝
l = [1, 2, 3]l_copy = l.copy() # 创建浅拷贝
元素计数
l = [1, 2, 3, 2]print(l.count(2)) # 输出 2
查找元素位置
l = [1, 2, 3, 4, 5]print(l.index(3)) # 输出 2
反转列表
l = [1, 2, 3, 4, 5]l.reverse() # 列表变为 [5, 4, 3, 2, 1]
排序
l = [3, 1, 2]l.sort() # 排序后的列表为 [1, 2, 3]
枚举
seasons = ['Spring', 'Summer', 'Fall', 'Winter']list(enumerate(seasons)) # 输出 [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
切片操作用于获取列表的一部分数据,常用于拷贝或重组数据。
基本切片语法
l = [1, 2, 3, 4, 5, 6]print(l[1:4]) # 输出 [2, 3, 4]
省略形式
l[:n]l[n:]l[:]**步长
l = [1, 2, 3, 4, 5, 6]print(l[1:4:1]) # 输出 [2, 3, 4]
加法运算
l = [1, 2]m = [3, 4]print(l + m) # 输出 [1, 2, 3, 4]
重复运算
l = [1, 2]print(l * 3) # 输出 [1, 2, 1, 2, 1, 2]
比较运算
l = [1, 2, 3]m = [4, 5, 6]print(l < m) # 输出 True
成员关系运算
l = [1, 2, 3]print(3 in l) # 输出 True
默认情况下,列表的 sort() 方法使用 Timsort algorithm,结合了归并和快速排序,适用于大部分场景。
转载地址:http://xsafk.baihongyu.com/