前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python基础】元组tuple

【Python基础】元组tuple

作者头像
DataScience
发布2020-01-02 12:29:38
3510
发布2020-01-02 12:29:38
举报
文章被收录于专栏:A2DataA2Data

本文标识 : P00012

本文编辑 : swagw 编程工具 : Python 阅读时长 : 5分钟


前言

元组是一个固定长度,不可改变的Python序列对象.

元组与列表类似,不同之处在于元组的元素不能修改.

元组使用小括号,列表使用方括号.

元组创建

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可

代码语言:javascript
复制
tup1 = (7, 8, 9)
tup1

运行结果如下:

代码语言:javascript
复制
(7,8,9)

再建立一个元组

代码语言:javascript
复制
tup2 = ('kobe', 'lebron', 2008, 2018)
tup2

运行结果:

代码语言:javascript
复制
('kobe', 'lebron', 2008, 2018)

用tuple()方法可以将任意序列或迭代器转换成元组

代码语言:javascript
复制
print(tuple([(4, 5, 6), (7, 8)]))
print(tuple('Hello'))

运行结果:

代码语言:javascript
复制
((4, 5, 6), (7, 8))
('H', 'e', 'l', 'l', 'o')

访问元组

与列表类似,元组可以使用下标索引来访问元组中的值:

代码语言:javascript
复制
tup1 = (7, 8, 9)
tup2 = ('kobe', 'lebron', 2008, 2018)print ('tup1[0]:', 
tup1[0])print('tup2[0:2]:', 
tup2[0:2])

结果如下:

代码语言:javascript
复制
tup1[0]: 7
tup2[0:2]: ('kobe', 'lebron')

修改元组

元组中的元素值是不允许修改的

代码语言:javascript
复制
tup1 = (7, 8, 9)
tup1[0] = 9

这时会出现报错:

代码语言:javascript
复制
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-3e90aeea8cb9> in <module>
----> 2 tup1[0] = 9

TypeError: 'tuple' object does not support item assignment

如果元组中的某个对象是可变的,比如列表,可以在原位进行修改:

代码语言:javascript
复制
tup3 = ('foo', [1, 2], 'Dwayne')
tup3[1].append(4)
tup3

结果如下:

代码语言:javascript
复制
('foo', [1, 2, 4], 'Dwayne')

元组运算符

元组之间可以使用+号和*号进行运算,这样他们可以进行组合和复制,生成一个新的元组:

代码语言:javascript
复制
tup1 = (7, 8, 9)
tup2 = ('kobe', 'lebron', 2008, 2018)
print(tup1 + tup2)
print(tup2*2)

结果:

代码语言:javascript
复制
(7, 8, 9, 'kobe', 'lebron', 2008, 2018)
('kobe', 'lebron', 2008, 2018, 'kobe', 'lebron', 2008, 2018)

拆分元组

如果你想将元组赋值给类似元组的变量,Python会试图拆分等号右边的值:

代码语言:javascript
复制
tup4  = (4, 5, 6)
a,b,c = tup4

print('a:',a)
print('b:',b)
print('c:',c)

运行结果如下:

代码语言:javascript
复制
a: 4
b: 5
c: 6

再尝试一个例子,元组内的:

代码语言:javascript
复制
tup5  = (7, 8, (1,2))
a,b,c = tup5
print('a:',a)
print('b:',b)
print('c:',c)

结果:

代码语言:javascript
复制
a: 7
b: 8
c: (1, 2)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 元组创建
  • 访问元组
  • 修改元组
  • 元组运算符
  • 拆分元组
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档