Python 元组的元素本身就是元组吗?
我对元组符号有点困惑。元组中的每个元素都被视为元组还是该元素的任何类型 例如,对于元组Python 元组的元素本身就是元组吗?,python,Python,我对元组符号有点困惑。元组中的每个元素都被视为元组还是该元素的任何类型 例如,对于元组t=(1,2,3,4),t中的1是True,这意味着int1在元组t中 但是,如果我计算t[0:1],我们会得到元组(1,) 更令人困惑的是,t中的(1,)是False 这是怎么回事?是哪一个,;是元组还是整数的元素?不,不是 但是切片[0:1]将始终为您提供iterable的子集。如果只想获取元素,只需这样做:t[0]。这是一个整数,而不是元组。元组中的项可以是元组或其他数据类型。您甚至可以混合元组中包含的项
t=(1,2,3,4)
,t中的1是True
,这意味着int1
在元组t
中
但是,如果我计算t[0:1]
,我们会得到元组(1,)
更令人困惑的是,t
中的(1,)是False
这是怎么回事?是哪一个,;是元组还是整数的元素?不,不是
但是切片[0:1]
将始终为您提供iterable的子集。如果只想获取元素,只需这样做:t[0]
。这是一个整数,而不是元组。元组中的项可以是元组或其他数据类型。您甚至可以混合元组中包含的项目类型
当您使用t[0:1]
时,您正在切片,这将为您提供正在切片的对象的一段
另一方面,您可以通过使用t[0]
索引来访问元组中的项
您可以检查对象类型:
t = (1,2,3,4)
type(t)
Out[12]: tuple
type(t[1])
Out[13]: int
type(t[:1])
Out[14]: tuple
t2 = ('a',1, (0,1))
for item in t2:
print(type(item))
<class 'str'>
<class 'int'>
<class 'tuple'>
t=(1,2,3,4)
类型(t)
Out[12]:元组
类型(t[1])
Out[13]:int
类型(t[:1])
Out[14]:元组
t2=('a',1,(0,1))
对于t2中的项目:
打印(类型(项目))
显然,t[0:1]
不返回t
的元素,而是返回t
的“子元组”,这就是为什么t
中的(1,)是False
的原因。使用t[0;1]
访问元组的一个元素宽的切片。这样的切片是元组,但元素仍然是以前的任何类型。元组的元素不是元组,而是切片。尝试t[0]
或t[1]
获取元素,而不是t[0:1]