Python - 列表(list)常用操作
创始人
2024-05-28 08:55:01
0

目录

  • 列表创建
  • 列表增删改查
    • 查询
    • 更新
    • 增加
    • 删除
    • 去重
  • 列表操作符
  • 列表函数&方法
    • 函数
    • 方法

列表创建

创建列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。列表内可以放任何类型的数据。
格式:列表名 = [列表项1, 列表项2 ... 列表项n]

# 创建一个空列表
list_00 = []# 创建一个带有元素的一维列表
list_01 = ["六", 6, 6.88, True, None, {"name": "彦祖"}]# 创建一个多维列表(以二维为示例)
list_02 = [[1, 2, 3],[4, 5, 6],[7, 8, 9]
]

列表增删改查

查询

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']# 列表索引从 0 开始,第二个索引是 1,依此类推
print(list[0])
print(list[1])
print(list[2])
# 输出:
red
green
blue# 索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推
print(list[-1])
print(list[-2])
print(list[-3])
# 输出:
black
white
yellow# 使用下标索引来访问列表中某个下标范围的值,包头不包尾
print(list[2:5])
# 输出:
['blue', 'yellow', 'white']

更新

list = ['乐昌', '测试工程师', 18, '男', True]
print("第三个元素为 : ", list[2])
list[2] = 24	# 更新小标为2的元素为 24
print("更新后的第三个元素为 : ", list[2])# 输出
第三个元素为 :  18
更新后的第三个元素为 :  24

增加

append()方法来添加列表项

list_01 = ['乐昌', '测试工程师', 18]
list_01.append('男')
print(list_01)
# 输出
['乐昌', '测试工程师', 18, '男']

删除

del语句来删除列表的的元素

list_01 = ['乐昌', '测试工程师', 18]
print("删除前:", list_01)
del list_01[1]
print("删除后:", list_01)
# 输出:
删除前:['乐昌', '测试工程师', 18]
删除后:['乐昌', 18]

去重

list_01 = ['乐昌', '测试工程师', 18, '乐昌', '测试工程师', 18]# 方式一:遍历整个列表,将每个元素首次出现放入新列表
res = []
for i in list_01:if i not in res:res.append(i)
print(res)		# ['乐昌', '测试工程师', 18]# 方式二:使用列表推导式编列整个列表,将每个元素首次出现放入新列表
res = []
[res.append(i) for i in list_01 if i not in res]
print(res)		# ['乐昌', '测试工程师', 18]# 方式三:使用 set(),最流行的方法。这种方法的缺点是set后列表中元素的顺序和原来不一样
list_01 = list(set(list_01))
print(list_01)		# ['乐昌', '测试工程师', 18]# 方式四:enumerate(),此方法保持列表中元素的顺序
res = [i for n, i in enumerate(list_01) if i not in list_01[:n]]
print(res)		# ['乐昌', '测试工程师', 18]# 方法五:使用 collections.OrderedDict.fromkeys()
# 这是完成特殊任务的最快方式。它首先删除列表中的重复项并返回一个字典,最后将其转换为列表。此方法也可用于字符串,之后列表中元素的顺序也发生了变化。
res = list(OrderedDict.fromkeys(list_01))
print(res)		# ['乐昌', '测试工程师', 18]# 方法六:处理嵌套列表中的重复元素
# 用于多维列表(列表嵌套)重复元素移除。这里假设列表(也是一个列表)中具有相同元素(但不一定是相同顺序)的元素被认为是重复的。然后使用下面的 set() + sorted() 方法完成任务。
test_list = [[1, 2, 3], [3, 2, 1], [3, 2, 1], [1, 2, 3], [-3, -2, -1]]
res = list(set(tuple(sorted(sub)) for sub in test_list))
print(res)		# [(1, 2, 3), (-3, -2, -1)]

列表操作符

  • len(list):获取列表长度(列表包含的元素数量)。
  • list + list:两个列表组合为一个新的列表。
  • list * n:列表中添加n个相同的列表元素。
  • x in list:判断元素x是否存在于list中。
  • for x in list: print(x, end=" "):循环输出列表元素。
  • operator.eq(list01,list02):判断两个列表是否相等
import operatorlist_01 = ['乐昌', '测试工程师', 18]print(len(list_01))             # 3new_list = list_01 + list_01
print(new_list)                 # ['乐昌', '测试工程师', 18, '乐昌', '测试工程师', 18]new_list02 = list_01 * 2
print(new_list02)               # ['乐昌', '测试工程师', 18, '乐昌', '测试工程师', 18]print('测试工程师' in list_01)   # Truefor x in list_01 : print(x, end=" ")    # 乐昌 测试工程师 18print(operator.eq(new_list, new_list02))    # True

列表函数&方法

函数

  • len(list):列表元素个数
  • max(list):返回列表元素最大值
  • min(list):返回列表元素最小值
  • list(seq):将元组转换为列表
list_01 = [5, 8, 18]        
print(len(list_01))         # 3
print(max(list_01))         # 18
print(min(list_01))         # 5
print(list((1, "2", 3)))    # [1, '2', 3]

方法

方法说明
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)将对象插入列表
list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中某个值的第一个匹配项
list.reverse()反向列表中元素
list.sort( key=None, reverse=False)对原列表进行排序
list.clear()清空列表
list.copy()复制列表
list_01 = ['乐昌', '测试工程师', 18]list_01.append("乐昌")
print(list_01)		# ['乐昌', '测试工程师', 18, '乐昌']list_01.count("乐昌")
print(list_01)		# 2list_01.extend(["1", 2, 3])
print(list_01)		# ['乐昌', '测试工程师', 18, '乐昌', '1', 2, 3]index_01 = list_01.index("测试工程师")
print(index_01)		# 1list_01.insert(1, "666")
print(list_01)		# ['乐昌', '666', '测试工程师', 18, '乐昌', '1', 2, 3]list_01.pop(5)
print(list_01)		# ['乐昌', '666', '测试工程师', 18, '乐昌', 2, 3]list_01.remove("乐昌")
print(list_01)		# ['666', '测试工程师', 18, '乐昌', 2, 3]list_01.reverse()
print(list_01)		# [3, 2, '乐昌', 18, '测试工程师', '666']list_02 = [3, 2, 1]
list_02.sort()
print(list_02)		# [1, 2, 3]list_03 = list_01.copy()
print(list_03)		# [3, 2, '乐昌', 18, '测试工程师', '666']

相关内容

热门资讯

安卓手机装虚拟系统好吗,利弊分... 你有没有想过给你的安卓手机来个“换装大法”?就是那种装上虚拟系统的酷炫操作!今天,就让我来给你好好分...
月经跟踪器安卓系统,安卓系统下... 月经跟踪器安卓系统:女性的贴心小助手在数字时代,我们每个人都像是带着面具生活在这个庞大的社会网络中。...
海信电视删除安卓系统,轻松恢复... 你家的海信电视是不是突然间变得有点儿“傻”了?别急,让我来给你支个招,帮你把这个小家伙的安卓系统给“...
如何鉴别翻新机安卓系统,安卓系... 你有没有遇到过这种情况:买了一部二手安卓手机,用起来总觉得有点不对劲,但又不确定是不是翻新机?别急,...
传承系统王者荣耀安卓苹果,传承... 你知道吗?在手机游戏的世界里,有一款游戏可是火得一塌糊涂,那就是《王者荣耀》!这款游戏不仅在国内拥有...
卓易安卓系统升级官网,畅享智能... 亲爱的读者们,你是否也像我一样,对手机系统的更新充满了期待?今天,就让我带你一起探索一下卓易安卓系统...
美国间谍车安卓系统下载,安卓系... 你有没有想过,那些神秘的美国间谍车,它们是如何在街头巷尾悄无声息地搜集情报的呢?今天,就让我带你一探...
键盘内置安卓系统软件,便携式智... 你有没有想过,那些看似普通的键盘,其实里面可能藏着一个小小的安卓系统呢?没错,就是那种你一按下去,就...
安卓如何改id系统密码,轻松解... 手机里的安卓系统密码丢了?别急,让我来给你支个招,让你轻松改回那个让你头疼的密码。你知道吗,安卓系统...
扫房神器2安卓系统,打造洁净家... 你有没有发现,家里的灰尘就像小精灵一样,总是悄悄地在你不注意的时候跳出来?别急,今天我要给你介绍一个...
安卓完整的系统设置,全面掌控手... 亲爱的手机控们,是不是觉得你的安卓手机用久了,功能越来越强大,但设置却越来越复杂?别急,今天就来带你...
电视安卓系统是几代机子,揭秘新... 你有没有想过,家里的电视是不是已经升级到了最新的安卓系统呢?别小看了这个小小的系统升级,它可是能让你...
安卓系统隐私有经常去,系统级防... 你知道吗?在咱们这个数字化时代,手机可是我们生活中不可或缺的好伙伴。但是,你知道吗?这个好伙伴有时候...
安卓10系统断网软件,轻松实现... 你有没有遇到过这种情况?手机突然断网了,明明信号满格,却连不上网,急得你团团转。别急,今天就来给你揭...
安卓可以改什么系统版本,体验全... 你有没有想过,你的安卓手机其实可以像换衣服一样,换一个全新的“系统版本”呢?没错,这就是今天我们要聊...
最好的平板游戏安卓系统,畅享指... 亲爱的游戏迷们,你是否在寻找一款能够让你在安卓平板上畅玩无忧的游戏神器?别急,今天我就要给你揭秘,究...
华为安卓系统卡顿解决,华为安卓... 你是不是也遇到了华为安卓系统卡顿的问题?别急,今天就来给你支几招,让你的华为手机重新焕发活力!一、清...
安卓建议升级鸿蒙系统吗,探讨鸿... 亲爱的安卓用户们,最近是不是被鸿蒙系统的新鲜劲儿给吸引了?是不是在犹豫要不要把你的安卓手机升级成鸿蒙...
安卓如何变苹果系统桌面,桌面系... 你有没有想过,把你的安卓手机变成苹果系统桌面,是不是瞬间高大上了呢?想象那流畅的动画效果,那简洁的界...
windows平板安卓系统升级... 你有没有发现,最近你的Windows平板电脑突然变得有些不一样了?没错,就是那个一直默默陪伴你的小家...