当前位置:首页 >> 编程语言 >> 【python】python列表的用法记录,三星i728(python列表怎么用)

【python】python列表的用法记录,三星i728(python列表怎么用)

0evadmin 编程语言 1
文件名:【python】python列表的用法记录,三星i728 【python】python列表的用法记录

文章目录 序言1. 列表的创建2. 列表的访问3. 列表的更新4. 列表的删除5. 列表的元素查找6. 列表的脚本操作符7. 列表的函数/方法8. 列表的一些其他操作

序言 总结字典的常见用法,以备查阅 1. 列表的创建

列表是python中最常用的数据类型,其数据项不需要具有相同的类型

列表创建方式1:[]创建

a = []# 创建一个空列表print(a)b = [1, 2, 'abd']# 创建列表并赋值print(b)print(b[2])# 下标访问

列表的创建方式2:list()创建

a = list()# 创建一个空列表print(a)a.append(1)# 添加元素print(a)b = list("abcdef")print(b)# 输出 ['a', 'b', 'c', 'd', 'e', 'f']

列表的创建方式3:range辅助创建整数列表

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%8==0]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 = 0while 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可以修改

# 例1list_1 = [1, 2, 3, 4, 1]list_1.pop()print(list_1)# 输出 [1, 2, 3, 4]list_1.pop(0)# 输出 [2, 3, 4]# 例2my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]indices_to_remove_index = [2, 4, 6]indices_to_remove_index.sort(reverse=True)# 从后往前删,避免索引错位 [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 元素

# 例1list_1 = [1, 2, 3, 4, 1]list_1.remove(1)print(list_1)# 输出 [2, 3, 4, 1]# 例2my_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)# 返回索引 2 6. 列表的脚本操作符 [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 < b,a > 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))# 输出 4,1出现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 = -1index = 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 nplist1 = [[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

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接