Python 中的列表(List)是 有序、可变 的序列类型,用方括号 []
定义。以下是列表的核心语法和常用操作:
list1 = ['Google', 'W3Cschool', 1997, 2000]
list2 = [7, 2, 3, 4, 5, 6, 1 ]
#索引操作
print ("list1 first: ", list1[0])
print ("list2 last: ", list2[-1])
#切片与拼接操作
print ("list1的前3项: ", list1[0:3])
print ("list1的2、3项: ", list1[1:3])
list2 +=list1
print("拼接后 list2:",list2)
#扩充列表
list2.extend([4,5])
print("扩充后 list2:",list2)
#更新操作
print ("list1的第三个元素为: ", list1[2])
list1[2] = "1998" #直接对想要修改的数据项赋上一个新值即可修改该数据项
print ("list1的第三个元素为: ", list1[2])
#添加元素:末尾添加
list1.append(2021) #append()可以在列表后追加一项列表项
print ("追加列表项后的list1: ", list1)
#添加元素:按索引位置添加
list1.insert(2,1999)
print ("list1 插入后现在为: ", list1)
#删除:按索引删除
del list1[0] #del可以删掉一个元素
print ("删除列表项后的list1: ", list1)
#按值删除
list1.remove(2021)
print ("list1 现在为: ", list1)
输出:
list1 first: Google
list2 last: 1
list1的前3项: ['Google', 'W3Cschool', 1997]
list1的2、3项: ['W3Cschool', 1997]
拼接后 list2: [7, 2, 3, 4, 5, 6, 1, 'Google', 'W3Cschool', 1997, 2000]
扩充后 list2: [7, 2, 3, 4, 5, 6, 1, 'Google', 'W3Cschool', 1997, 2000, 4, 5]
list1的第三个元素为: 1997
list1的第三个元素为: 1998
追加列表项后的list1: ['Google', 'W3Cschool', '1998', 2000, 2021]
list1 插入后现在为: ['Google', 'W3Cschool', 1999, '1998', 2000, 2021]
删除列表项后的list1: ['W3Cschool', 1999, '1998', 2000, 2021]
list1 现在为: ['W3Cschool', 1999, '1998', 2000]
以下来自deepseek生成
这里看看高级特性:
# 列表推导式(快速生成列表)
squares = [x**2 for x in range(5)] # [0, 1, 4, 9, 16]
# 条件过滤:生成0-9之间的偶数
evens = [x for x in range(10) if x%2 == 0] # [0,2,4,6,8]
# 嵌套推导式
matrix = [[1,2], [3,4]]
flatten = [num for row in matrix for num in row] # [1,2,3,4]
前两个好理解。嵌套推导式不好理解,格式如下:
[表达式 for 外层元素 in 外层可迭代对象 for 内层元素 in 内层可迭代对象]
debug看看,是外层的row 先取一个元素[1,2],内层num再去遍历这个[1,2].
主要是处理多维数据或者数据清洗转换用,或者生成笛卡尔积。代码很简洁就是不直观,理解起来有点困难。
嵌套式还有一种方式
[[表达式 for subitem in subiterable] for item in iterable]
# 原始二维列表 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 使用嵌套列表推导式生成新二维列表 squared_matrix = [[x**2 for x in row] for row in matrix] # 打印结果 print(squared_matrix)
输出:[[1, 4, 9], [16, 25, 36], [49, 64, 81]]
关于嵌套推导的复杂应用:推荐大佬的Python列表推导式:嵌套用法详解_python中列表推导复杂用法-CSDN博客