6-3 Python创建单个元素的tuple
本节编程练习不计算学习进度,请电脑登录imooc.com操作

Python创建单个元素的tuple

tuple和list一样,可以包含 0 个、1个和任意多个元素。
包含多个元素的 tuple,前面我们已经创建过了。

包含 0 个元素的 tuple,也就是空tuple,直接用()表示:

T = ()
print(T) # ==> ()

接着,我们创建包含一个元素的tuple。

T = (1)
print(T) # ==> 1

这和我们期望的输出有些差异,为什么包含一个元素的元组打印出来之后没有小括号,而是只有一个数字1呢?
回顾一下前面数字的四则运算。

result = 3 * 4 - 2
print(result) # ==> 10
# 改变优先级,先运算减法
result = 3 * (4 - 2)
print(result) # ==> 6

可以看到,改变优先级我们是通过()来实现的,这和元组的定义有冲突,这就解释了前面只有一个元素的元组,为什么打印出来却得到一个数字的结果了。
因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果(1)被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。
因此,要定义只有一个元素的tuple,需要在元素后面添加一个逗号,

T = (1, )
print(T) # ==> (1, )

而对于多个元素的tuple,则加和不加这个逗号,效果是一样的。

>>> T = (1, 2, 3,)
>>> print(T) # ==> (1, 2, 3)

任务

tuple的元素也可以是tuple,请判断以下定义T的元素中,有多少个tuple。

T = ((1+2),  ((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
  1. # Enter a code
  2.  
下一节