python 元祖简介

元祖(tuple)是python独有的一类对象。与列表(list)非常类似,只不过元祖不能在远处进行修改,通常用圆括号表示。
1、元祖的常见运算

# 创建一个空元祖
>>> t = ()
>>> type(t)
<class 'tuple'>

# 创建一个单元素的元祖,注意后面的逗号
# 如果没有逗号,Python将会认为是int
>>> t = (0,)

# 多个元素
>>> t = (0, 'Ni', 1.2, 3)

# 不带圆括号也可以,但为了可读性建议带上
>>> t = 0,
>>> type(t)
<class 'tuple'>

# 通过tuple函数创建一个元祖
>>> t = tuple('spam')
>>> t
('s', 'p', 'a', 'm')

# 通过索引分片获取元祖元素
>>> t[2]
'a'
>>> t[1:3]
('p', 'a')

# 获取元祖长度
>>> len(t)
4

# 尝试对元祖元素修改会报错
>>> t[2] = 'p'
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    t[2] = 'p'
TypeError: 'tuple' object does not support item assignment

# 元祖的for循环和列表解析
>>> for x in t:
	print(x, end=' ')
s p a m 
>>> [x * 2 for x in t]
['ss', 'pp', 'aa', 'mm']

# 查找与计算
>>> t.index('s')
0
>>> t.count('s')
1

2、元祖与列表的转换

>>> t = ('cc', 'aa', 'dd', 'bb')
>>> tmp = list(t)
>>> tmp.sort()
>>> tmp
['aa', 'bb', 'cc', 'dd']
>>> t = tuple(tmp)
>>> t
('aa', 'bb', 'cc', 'dd')

3、元祖的不可变性指的是顶层不可变性

>>> t = (1, [2, 3], 4)
# 直接修改会报错
>>> t[1] = 'spam'
Traceback (most recent call last):
  File "<pyshell#30>", line 1, in <module>
    t[1] = 'spam'
TypeError: 'tuple' object does not support item assignment

# 取出以后修改不会报错,因为list是可变的
>>> t[1][0] = 'spam'
>>> t
(1, ['spam', 3], 4)

哈哈,以上就是python小工具关于元祖的简介,出自
《python学习手册》第九章,有兴趣的话欢迎关注公众号:python小工具。获取相关资料。
在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python中,元组(tuple)是不可变的序列类型,即它的元素不可修改。所以元组对象本身并没有提供replace()方法用于替换元素。如果你想要替换元组中的某个元素,你可以将元组转换为列表,然后使用列表的replace()方法进行替换,最后再将列表转换回元组。下面是一个示例代码: ``` # 将元组转换为列表 my_tuple = (1, 2, 3, 4, 5) my_list = list(my_tuple) # 使用列表的replace()方法替换元素 my_list = 10 # 将列表转换回元组 new_tuple = tuple(my_list) print(new_tuple) ``` 这段代码将元组 `(1, 2, 3, 4, 5)` 转换为列表 `my_list`,然后使用列表的replace()方法将第三个元素替换为10。最后将列表转换回元组并打印出来,结果为 `(1, 2, 10, 4, 5)`。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python 列表 元祖 集合](https://blog.csdn.net/weixin_39652646/article/details/110995188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [基于python元祖与字典与集合的粗浅认识](https://download.csdn.net/download/weixin_38689338/12872428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值