学习python的心酸历程----列表
列表
列表的定义
用方括号([])来表示列表,并用逗号来分割其中的元素
列表名=[" "," "," "] 列表中可以存放,字符串、数字、浮点型
访问列表元素:
表达式:列表名[索引] 注意:索引是从0开始而不是从1开始
list1=['a','c','d','e']
print(list1[1])
print(list1[3])
修改、添加和删除元素
修改
表达式:列表名[索引] = ‘要修改的值’
添加元素
- 在列表末尾添加元素:使用.append() 表达式:列表名称.append('要添加的元素')
- 在列表中插入元素 使用 insert(下标,"元素")
- 列表合并:list1.extend(list2)
从列表中删除元素
- 使用del语句删除元素 表达式:del 列表名[索引] *注意:使用del将值从列表中删除后,你就无法访问它了
- 使用方法pop()删除元素 #默认删除列表末尾元素 pop 删除的术语叫弹出 表达式:变量名=列表名.pop()
- 弹出列表中任何位置处的元素 表达式:变量名=列表名.pop(索引)
- 根据值删除元素 remove() 表达式:列表名.remove(元素名称)
列表的其他操作
组织列表
- 对列表进行永久排序-----使用方法sort() #按字母顺序进行排序(默认从小到大)
- 也可以按字母顺序相反的顺序排序元素,只需向sort()方法传递参数 reverse=True
- 倒着打印列表 reverse()永久性反转,不是按字母顺序相反的顺序排列,而是反转列表的排列顺序:
- 确定列表的长度 len() 注:使用列表时避免索引错误
操作列表
列表遍历:for 变量名 in 列表名:
切片
列表的切片和字符串的切片一样
列表的嵌套
list_a = [1,2,3,4,[11,22,[123,234]]]
print(list_a[4][2][0])
列表的相关函数
list.len() 检测当前列表的长度, 元素的数量
list.count() 检测当前列表中元素出现的次数
list.clear() 清空列表
list.copy() 简单拷贝,只能拷贝当前列表,不能拷贝多维列表
import copy,,list2 = copy.deepcopy(list1) 能拷贝多维列表
列表推导式
基本的使用方法
变量 = [变量或变量的处理结果 for 变量 in 容器类型数据]
varlist = '1234'
#常规方法
newlist = []
for i in varlist:
newlist.append(int(i)*2)
print(newlist) #[2,4,6,8]
#列表推导式
res = [int(i)*2 for i in varlist]
print(res) #[2,4,6,8]
带有判断条件的列表推导式
变量 = [变量或变量的处理结果 for 变量 in 容器类型数据 条件表达式]
#常规方式
newlist = []
for i in range(10):
if i%2 ==0:
newlist.append(i)
print(newlist) #[0,2,4,6,8]
#列表推导式
newlist = [i for i in range(10) if i % 2 == 0]\
print(newlist) #[0,2,4,6,8]
带有判断条件的多循环的列表推导式
#常规方法
newlist = []
for x in [1,2,3]:
for y in [3,1,4]:
if x != y:
newlist.append((x,y))
print(newlist)
#列表推导式
newlist = [(x,y) for x in [1,2,3] for y in [3,1,4] if x != y]
print(newlist)
嵌套的列表推导式
matrix =
[
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
rew = [[row[i] for row in matrix] for i in range(4)]
print(rew)
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

浙公网安备 33010602011771号