一分钟学Python|Python的列表和元组

本文详细对比了Python中的列表list和元组tuple。列表是可变的,可以修改、添加和删除元素,如使用append()、extend()、remove()、pop()和del操作。元组是不可变的,不能直接修改,但可以通过创建新元组实现类似“修改”和“删除”的效果。此外,文章还展示了如何创建、组合和删除元组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!

list和tuple

首先来一波简单粗暴的对比

1、python中的列表list是变量,而元组tuple是常量。简单地说元组是固定不可改变的,意味着一旦被创建它的内容无法被修改;列表则不同,被创建可根据自己的想法随意改变,同时改变列表的函数方法也有很多。

2、列表:是使用方括号[]

元组:则是使用圆括号()

不过两者都可以使用索引读取值

列表list

# 1、根据索引修改
my_list = [1,2,3,4,5]
my_list[1] = 10
my_list[0] = my_list[1] * my_list[2]  # 10乘以3
print(my_list)

运行结果:

[30, 10, 3, 4, 5]

1. 列表中的append()和extend()

# 两者都是对列表增加元素的方法,都不支持多参数
# 但是append()向列表中添加一个作为整体的对象,extend()是把一个可迭代对象的内容迭代添加到列表中

my_list = [1,2,3,4,5]
my_list2 = [1,2,3,4,5]
temp = [100]
my_list.append(temp)
my_list2.extend(temp)  # temp是一个单元素列表,是一个可迭代对象,迭代出10添加
print(my_list)
print(my_list2)

运行结果:

[1, 2, 3, 4, 5, [100]]  # append()结果
[1, 2, 3, 4, 5, 100]    # extend()结果

2. 列表中的remove()、pop()和del

# remove:删除单个元素,删除首个符合条件的元素,按值删除,返回值为空
# pop:删除索引位置元素,无参情况下删除最后一个元素,返回删除的元素值
# del:简单粗暴,可传索引值参数删除符合条件的元素,也可不接参数整个删除

my_list = [1,2,3,2,4,5]
my_list2 = [1,2,3,2,4,5]
my_list3 = [1,2,3,2,4,5]

print(my_list.remove(2)) # 删除第一个2
print(my_list)

print(my_list2.pop(2))   # 删除索引值为2的元素3
print(my_list2.pop())    # 删除最后一个元素5

del my_list3[2]
print(my_list3)
del my_list3[0:2]
print(my_list3)
del my_list3
print(my_list3)

运行结果:

None
[1, 3, 2, 4, 5]
3
5
[1, 2, 2, 4, 5]
[2, 4, 5]
Traceback (most recent call last):
  File "D:/study_test/python_study/t1.py", line 19, in <module>
    print(my_list3)
NameError: name 'my_list3' is not defined

元组tuple

1. 创建元组

my_tup = ()
my_tup = (100) # 不可,切记单元素创建元组这样写会被理解成int类型
my_tup = (100,)

运行输出结果可知:

() <class 'tuple'>
100 <class 'int'>
(100,) <class 'tuple'>

2. “修改”元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合 -- “创建了一个新的元组”

my_tup = [1,2,3]
my_tup2 = ['a','b','c']

my_tup3 = my_tup + my_tup2
print(my_tup3)   

运行结果:

[1, 2, 3, 'a', 'b', 'c']

3. “删除”元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

my_tup = [1, 2, 3, 'a', 'b', 'c']

print(my_tup)
del my_tup
print("del操作后的my_tup:", my_tup)

运行结果:

[1, 2, 3, 'a', 'b', 'c']
Traceback (most recent call last):
  File "D:/study_test/python_study/t1.py", line 5, in <module>
    print("del操作后的my_tup:", my_tup)
NameError: name 'my_tup' is not defined
回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版
回复关键词「m」,立即获取Python精选优质文章合集
回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~
推荐阅读

题图:pexels,CC0 授权。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值