英文网站怎么推广,asp网站自动识别手机,ui设计和平面设计的区别,嘉祥建设局网站文章目录 序言1. 列表的创建2. 列表的访问3. 列表的更新4. 列表的删除5. 列表的元素查找6. 列表的脚本操作符7. 列表的函数/方法8. 列表的一些其他操作 序言
总结字典的常见用法#xff0c;以备查阅
1. 列表的创建 列表是python中最常用的数据类型#xff0c;其数据项不需要… 文章目录 序言1. 列表的创建2. 列表的访问3. 列表的更新4. 列表的删除5. 列表的元素查找6. 列表的脚本操作符7. 列表的函数/方法8. 列表的一些其他操作 序言
总结字典的常见用法以备查阅
1. 列表的创建 列表是python中最常用的数据类型其数据项不需要具有相同的类型 列表创建方式1[]创建 a [] # 创建一个空列表
print(a)b [1, 2, abd] # 创建列表并赋值
print(b)
print(b[2]) # 下标访问列表的创建方式2list()创建 a list() # 创建一个空列表
print(a)a.append(1) # 添加元素
print(a)b list(abcdef)
print(b) # 输出 [a, b, c, d, e, f]列表的创建方式3range辅助创建整数列表 c list(range(10))
print(c) # 输出 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]d list(range(0,10,2))
print(d) # 输出 [0, 2, 4, 6, 8]e list(range(10,0,-1))
print(e) # 输出 [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]列表创建方式4推导式生成列表 f [x*2 for x in range(10)]
print(f) # 输出 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]g [x*2 for x in range(50) if x%80]
print(g) # 输出 [0, 16, 32, 48, 64, 80, 96]二维列表创建方式1创建空二维列表 # 方式1 创建空二维列表
a [[] for i in range(5)]
print(a) # 输出 [[], [], [], [], []]b []
for i in range(5):b.append([])
print(b)二维列表创建方式2直接定义二维列表 list_name [[元素11, 元素12, 元素13, 元素14],[元素21, 元素22, 元素23, 元素24],[元素31, 元素32, 元素33, 元素34]]
print(list_name) # 输出 一个 3 x 4 的列表二维列表创建方式3使用嵌套for循环创建二维列表 # 创建一个 3 x 4 的列表
lis []
for i in range(3):lis.append([])for j in range(4):lis[i].append(j)
print(lis)二维列表创建方式4使用推导式生成二维列表 list_name [[i for i in range(4)] for j in range(3)]
print(list_name) # 3 x 4 列表2. 列表的访问 一维列表的访问 取元素
list_name[0] # 取第一个元素
list_name[-1] # 取最后一个元素
list_name[:] # 取所有元素
list_name[m : n] # 取[m, n)元素
list_name[m :] # 取m开始到结尾的所有元素 遍历
for item in list_name:print(item)length len(list_name)
index 0
while index length:print(list_name[index])index 1二维列表的访问: 注意没法用array数组的方式来读取每一列 取元素
list_name[row_index][col_index] # 行索引列索引 按行读取
for row_item in list_name:print(row_item) # 逐行遍历 按列读取
for col_index in range(4):columns [item[col_index] for item in list_name]print(columns) # 输出每一列# 用array的方式读取每一列失败
print(list_name[:, 0]) # 意图输出所有行第一列失败 遍历
for row_index in len(list_name):for col_index in len(list_name[0]):print(list_name[row_index][col_index])for row_item in list_name:for item in row_item:print(item) # 逐行逐列输出3. 列表的更新 直接修改元素值 1_d_list[0] new_element
2_d_list[0][1] new_element使用append新增元素 1_d_list.append(new_element)
2_d_list.append([new_list])在某处插入元素 1_d_list.insert(0, new) # insert(index,obj)将元素插入到列表的index位置处# 举例
list_name [D, 1, 2, 3, 4]
list_name.insert(1, E)
print(list_name) # 输出 [D, E, 1, 2, 3, 4]在列表末尾添加多个值注意添加的序列必须是可迭代对象 list_1 [1, 2, 3]
list_2 [4, 5, 6]
list_1.extend(list_2)
print(list_1) # 输出 [1, 2, 3, 4, 5, 6]4. 列表的删除 使用 del 删除元素 my_list [1, 2, 3, 4, 5, 6, 7, 8, 9]
del my_list[2:5] # 删除[2, 5)之间的元素
print(my_list) # 输出 [1, 2, 6, 7, 8, 9]使用 pop(index -1) 移除元素index默认为-1可以修改 # 例1
list_1 [1, 2, 3, 4, 1]
list_1.pop()
print(list_1) # 输出 [1, 2, 3, 4]
list_1.pop(0) # 输出 [2, 3, 4]# 例2
my_list [1, 2, 3, 4, 5, 6, 7, 8, 9]
indices_to_remove_index [2, 4, 6]
indices_to_remove_index.sort(reverseTrue) # 从后往前删避免索引错位 [6, 4, 2]
for index in indices_to_remove_index:my_list.pop(index)
print(my_list) # 输出 [1, 2, 4, 6, 8, 9]使用 remove(obj) 移除列表中第一次出现的 obj 元素 # 例1
list_1 [1, 2, 3, 4, 1]
list_1.remove(1)
print(list_1) # 输出 [2, 3, 4, 1]# 例2
my_list [1, 2, 3, 4, 5, 6, 7, 8, 9]
elements_to_remove [3, 5, 7]
for element in elements_to_remove:my_list.remove(element)
print(my_list) # 输出 [1, 2, 4, 6, 8, 9]使用 clear 清空列表 list_1 [1,2,3,4,5]
list_1.clear()
print(list_1) # 输出 []pop()方法和remove()不推荐使用因为删除元素后列表大小会变导致列表索引也会改变容易出错
5. 列表的元素查找 使用index()方法查找列表中元素第一次出现的位置 index(obj,start 0 , end -1)obj: 要查找的元素start: 查找的起始位置end: 查找的结束位置不包含该位置# 遍历查找# 使用index()方法
list_1 [1,2,3,4,5]
list_1.index(3) # 返回索引 26. 列表的脚本操作符
[1,2,3][4,5,6] - [1,2,3,4,5,6] # 组合[Hi!] * 4 - [Hi!, Hi!, Hi!, Hi!] # 重复3 in [1,2,3] - True # 元素是否存在于列表中7. 列表的函数/方法 求列表长度/大小 len(list) # 一维列表 元素个数 二维列表返回行数比较两个列表的大小 cmp(list1, list2)
# 如果是数字按大小比较
# 如果一方数字另一方非数字数字是最小的
# 如果都不是数字按字母顺序比较 a ba A等# list1 list2, 返回1
# list1 list2, 返回-1
# list1 list2, 返回0求列表的最大最小元素 max(list) # 返回最大元素
min(list) # 返回最小元素统计列表中某个元素出现的次数 list1 [1,2,3,4,1,2,1,2,1]
print(list1.count(1)) # 输出 41出现4次对列表元素进行排序 sort默认升序设置reverse True则为降序排列 list1 [3,5,6,1,2,9]
list1.sort()print(list1) # [1, 2, 3, 5, 6, 9]list1.sort(reverse True)print(list1) # [9, 6, 5, 3, 2, 1]列表元素反转反向排序: reverse()函数 list1 [4,3,1,6,7]
list1.reverse()print(list1) # [7, 6, 1, 3, 4]8. 列表的一些其他操作 判断一个元素是否在列表内 # 1. 遍历查找
# 2. 使用index()函数: 存在则返回第一个匹配元素的索引位置不存在则抛出异常所以可以如下写index -1
index list.index(obj)
if index ! -1:print(obj is found!)# 3. 使用.count()方法判断某个元素在列表中出现的次数
num list.count(element)将二维列表转换为一维列表 # 1. 遍历转换: 两层for循环
list1 [[1, 2], [3, 4]]
new_list [item for list in list1 for item in list]
print(new_list)# 2. list-array-list array使用flatten方法
import numpy as np
list1 [[1, 1], [2, 2]]
list1 np.array(list1)
ans list1.flatten()
ans ans.tolist()列表作为函数参数 可变类型list ,dict 不可变类型int , string , float ,tuple 列表作为函数参数运行函数会改变原始列表数据如下 a [1, 2, A]def F(A):A.pop()print(A) # 输出 [1, 2]F(a)
print(a) # 输出 [1, 2]如果不希望这种情况发生可以先拷贝一份避免破坏原始数据 a [1, 2, A]def F(A):lst_copy A.copy() # 当列表有多重列表时需要用deepcopylst_copy.pop()print(lst_copy) # 输出 [1, 2]F(a)
print(a) # 输出 [1, 2, A] 没变【参考文章】
[1]. python列表创建的方式 [2]. 二维列表的遍历 [3]. 二维列表的创建 [4]. 二维列表按行按列访问 [5]. 二维列表不能直接切片 [6]. 二维列表的创建与访问 [7]. 删除列表中多个元素 [8]. 列表元素删除方法比较 [9]. 列表操作详解 [10]. 列表的基本用法 [11]. 列表的基本用法 [12]. 判断元素是否在列表内 [13]. 二维列表转换为一维 [14]. 列表作为函数形参 [15]. 列表作为传参copy
created by shuaixio, 2023.12.02