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
,这意味着int
1
在元组
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]