说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 的内置函数构造器 tuple() 将构造一个元组,其中的项与 iterable 中的项具有相同的值与顺序。 iterable 可以是序列、支持迭代的容器或其他可迭代对象。元组是不可变序列,通常用于储存异构数据的多项集(例如由 enumerate() 内置函数所产生的二元组)。 元组也被用于需要同构数据的不可变序列的情况(例如允许存储到 set 或 dict 的实例)。
以下是使用 tuple() 的示例:
tuple('abc')
# ('a', 'b', 'c')
tuple({'a': 1, 'b': 2})
# ('a', 'b')
tuple(range(3))
# (0, 1, 2)
tuple()
# ()
tuple((0, 1, 2))
# (0, 1, 2)
tuple(b'abc')
# (97, 98, 99)
内置不可变序列——元组,它可以用多种方式构建(注意:是定义元组的方法,不是使用 tuple 函数):
因此使用 tuple(iterable=(), /)
:
构造器将构造一个元组,其中的项与 iterable 中的项具有相同的值与顺序。 iterable 可以是序列、支持迭代的容器或其他可迭代对象。 如果 iterable 已经是一个元组,会不加改变地将其返回。 例如,tuple('abc') 返回 ('a', 'b', 'c') 而 tuple( [1, 2, 3] ) 返回 (1, 2, 3)。 如果没有给出参数,构造器将创建一个空元组 ()。
tuple 没有特殊方法,如果要实现 tuple 的行为,可以实现 __iter__()
,即 tuple(i for i in obj)
,例如,pandas 的 DataFrame,实现了 __iter__()
迭代列名,因此 tuple(df)
得到提一个列名为元素的元组。
请注意决定生成元组的其实是逗号而不是圆括号。 圆括号只是可选的,生成空元组或需要避免语法歧义的情况除外。 例如,f(a, b, c) 是在调用函数时附带三个参数,而 f((a, b, c)) 则是在调用函数时附带一个三元组。
元组实现了所有 一般 序列 的操作。
对于通过名称访问相比通过索引访问更清晰的异构数据多项集,collections.namedtuple() 可能是比简单元组对象更为合适的选择。
更新时间:March 6, 2024, 9:20 a.m. 标签:python 元组 tuple