Python快速上手系列--元组--详解篇

上一章的列表内容有点多,需要时间进行消化。本篇来看看与其类似,但又不同的一个内容。

元组

元组使用小括号(),也称为圆括号来表示。也可以不使用这样的方式,直接用,隔开就好。看例子:

# 定义一个元组fly= '托马','有一只小羊'print(type(fly))fly1 = ('小羊','很不错')# 我们可以像列表那样打印它print(fly1[0])print(fly1[1])# <class 'tuple'># 小羊# 很不错

元组也能跟range搭配使用,快速的生成一个元组出来:

b = tuple(range(6))print(b)# (0,1,2,3,4,5)

元组可以像列表一样进行打印,但是却不能像列表那样进行修改元素值

# 定义一个元组,fly = (200, 20)# 修改元素的值,这操作是不允许的# fly[0] = 100# 我们可以像列表一样用索引获取它的值print(fly[0])print(fly[1])

修改元组的元素,python就会报错!告诉你fly[0] = 100,这里是不可行的。如下的例子也是一样:

t = ('a', 'b', ['A', 'B'])t[2][0] = 'X't[2][1] = 'Y'

遍历

# 定义一个元组,fly = (200, 20, 30)for fly_num in fly:    print(fly_num)

写法其实跟列表的没什么太大的区别,都是通过定义变量fly_num去循环元组的变量fly然后进行打印。

修改元组

我们上一个例子中元组的两个值虽然不能直接的改变,但是我们可以重新定义变量!!!

# 定义一个元组,fly = (200, 20)for fly_num in fly:    print(fly_num)# 再次定义一个相同的变量fly = (400,40)# 使用上一个相同的变量进行for循环for fly_num in fly:    print(fly_num)

这样子我们的fly变量的值就改变了,这样子写在python中也是允许的,合法的,就是麻烦了点啦!

元组还是跟列表有一定区别,最为明显的就是元组用()表示,列表用[]表示,可别看错了。元组也是不可变的,不能像字符串一样被修改,添加,删除。

list_number = ('tom','luci','xifa','BOB')list_number[1] = 'mm'print(list_number)

这里用下标值进行修改,就会报出对象不支持分配的错误,如:

Traceback (most recent call last):  File "D:/Python/TuLing/草稿.py", line 20, in <module>    list_number[1] = 'mm'TypeError: 'tuple' object does not support item assignment

注意:这是一个错误的例子!!!

类型转换

list_number = ('tom','luci','xifa','BOB')print(list(list_number))# 元组转换成列表:# ['tom', 'luci', 'xifa', 'BOB']
list_number = ['tom','luci','xifa','BOB']print(tuple(list_number))# 列表转换成元组:# ('tom', 'luci', 'xifa', 'BOB')

取值

元组取值也是用下标取值的

list_number = ('tom','luci','xifa','BOB','奔跑的托马')print(list_number[-1])# 其结果是# 奔跑的托马

排序

c = (4,6,2,1)print(tuple(sorted(c)))# (1, 2, 4, 6)

要知道sorted函数是对原有的元组或者列表进行拷贝一次,然后对拷贝后的元组或列表进行修改。

zip方法

c = (4,6,2,1)d = (1,2,3,4)# zip返回列表对象,一一对应的关系f = zip(d,c)print(list(f))# [(1, 4), (2, 6), (3, 2), (4, 1)]

这里的list只起转换的作用。这里你会发现zip会拿d的0索引位跟c的0索引位进行相匹配,然后依次匹配。这是zip方法的一个特殊的用处。

列表推导式

列表中有推导式,元组也是有的。

g = (aa*2 for aa in range(5))print(tuple(g))# (0, 2, 4, 6, 8)

总结

1.元组的核心特点是:不可变序列。

2.元组的访问和处理速度比列表快。

3.与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的托马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值