Python数据类型表现出一些不同

时间:2018-07-19 06:12:47

标签: python list tuples

我正在发现python中数据类型之间的差异。我有点困惑为什么demo2的类型给出列表而不是元组。谁能告诉我为什么它是打印类型列表而不是元组?

代码

demo1 = ()
print ("demo1 {}".format(type(demo1)))

demo2 = ([])
print ("demo2 {}".format(type(demo2)))

demo3 = ([],[])
print ("demo3 {}".format(type(demo3)))

输出

demo1 <type 'tuple'>
demo2 <type 'list'>
demo3 <type 'tuple'>

2 个答案:

答案 0 :(得分:2)

要创建一个空的元组,请使用tuple()。它会以()的形式打印,但这不是您创建空元组的方式。至少,一个元组必须包含一个项目。因此,您需要将其创建为([],)

您的代码([])[]相同,在这种情况下,括号是延续字符`,而不是空元组。

  

括号,方括号或花括号中的表达式可以是   在不使用反斜杠的情况下划分了多个物理行。

有关更多详细信息,请参见the documentation on lexical analysis

您还可以在口译员处对此进行验证:

>>> ([]) == []
True

答案 1 :(得分:1)

基本上() small brackets是块括弧,但最终在python中也代表元组。每当我们在python中声明一个元组时,我们都需要用逗号分隔2个值或分配()(小括号)将创建一个空的元组。

因此,在您的demo3中,您制作了list并用方括号括起来,这意味着您的demo3具有list vector。如果您像comma一样在[]之后提供([], ),则会形成一个lists的元组。

下面是一些增强的示例:- enter image description here