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']

相关内容

热门资讯

安卓系统和oppo系统哪个流畅... 你有没有想过,手机系统哪个更流畅呢?安卓系统和OPPO系统,这两个名字听起来就让人心动。今天,咱们就...
安卓怎么用微软系统,利用微软系... 你是不是也和我一样,对安卓手机上的微软系统充满了好奇?想象那熟悉的Windows界面在你的安卓手机上...
安卓系统如何安装nfc,安卓系... 你有没有想过,用手机刷公交卡、支付账单,是不是比掏出钱包来得酷炫多了?这就得归功于NFC技术啦!今天...
ios系统可以转安卓,跨平台应... 你有没有想过,你的iPhone手机里的那些宝贝应用,能不能搬到安卓手机上继续使用呢?没错,今天就要来...
iOSapp移植到安卓系统,i... 你有没有想过,那些在iOS上让你爱不释手的app,是不是也能在安卓系统上大放异彩呢?今天,就让我带你...
现在安卓随便换系统,探索个性化... 你知道吗?现在安卓手机换系统简直就像换衣服一样简单!没错,就是那种随时随地、随心所欲的感觉。今天,就...
安卓系统安装按钮灰色,探究原因... 最近发现了一个让人头疼的小问题,那就是安卓手机的安装按钮突然变成了灰色,这可真是让人摸不着头脑。你知...
安卓7.1.1操作系统,系统特... 你知道吗?最近我在手机上发现了一个超级酷的新玩意儿——安卓7.1.1操作系统!这可不是什么小打小闹的...
安卓os系统怎么设置,并使用`... 你有没有发现,你的安卓手机有时候就像一个不听话的小孩子,有时候设置起来真是让人头疼呢?别急,今天就来...
安卓降低系统版本5.1,探索安... 你知道吗?最近安卓系统又来了一次大动作,竟然把系统版本给降到了5.1!这可真是让人有点摸不着头脑,不...
解放安卓系统被保护,解放安卓系... 你有没有想过,你的安卓手机其实可以更加自由地呼吸呢?是的,你没听错,我说的就是解放安卓系统被保护的束...
校务帮安卓系统下载,便捷校园生... 你有没有想过,你的手机里装了一个神奇的助手——校务帮安卓系统下载?没错,就是那个能让你轻松管理学校事...
安卓系统没有拼多多,拼多多崛起... 你知道吗?最近我在手机上发现了一个小小的秘密,那就是安卓系统里竟然没有拼多多这个应用!这可真是让我大...
甜城麻将安卓系统,解锁全新麻将... 你有没有听说过那个超级火的甜城麻将安卓系统?没错,就是那个让无数麻将爱好者为之疯狂的软件!今天,就让...
安卓系统卸载的软件,深度揭秘卸... 手机里的软件越来越多,是不是感觉内存不够用了?别急,今天就来教你怎么在安卓系统里卸载那些不再需要的软...
安卓系统推荐好游戏,畅享指尖乐... 手机里的游戏可是咱们休闲娱乐的好伙伴,尤其是安卓系统的用户,选择面那可是相当广呢!今天,就让我来给你...
王者安卓系统怎么卖,揭秘如何轻... 你有没有听说最近王者安卓系统的火爆程度?没错,就是那个让无数玩家沉迷其中的王者荣耀!今天,我就来给你...
安卓开发系统内置证书,基于安卓... 你有没有想过,你的安卓手机里那些神秘的内置证书,它们到底是个啥玩意儿?别急,今天就来给你揭秘这些隐藏...
荣耀安装安卓原生系统,深度体验... 你知道吗?最近荣耀手机界可是掀起了一股热潮,那就是——荣耀安装安卓原生系统!这可不是什么小打小闹,而...
安卓13小米系统,创新功能与流... 你知道吗?最近安卓13系统可谓是风头无两,各大手机厂商纷纷推出自家的新版系统,其中小米的安卓13系统...