数字列表和带有单个数字元组的列表之间的区别是什么?

时间:2018-05-17 19:09:25

标签: python

此列表之间有什么区别

[(0.39, 2.78, 7.11)]

和另一个名单?

[0.39, 2.78, 7.11]

我打印了类型,两者都是<class 'list'>

4 个答案:

答案 0 :(得分:1)

Python容器的类型不包含有关内容的信息 包含在内。列表是一个列表,无论它是否包含元组或浮点数。同样,元组是一个元组,无论它包含什么。 L2list都是L1的实例,但这并没有告诉我们任何列表的内容

float是一个包含一个对象的列表,恰好是一个包含三个L1 --> <list> | + 0 -> <tuple> | + 0 -> <float: 0.39> | + 1 -> <float: 2.78> | + 2 -> <float: 7.11> s的元组。

L2

float是一个包含三个对象的列表,所有这些对象都是L2 --> <list> | + 0 -> <float: 0.39> | + 1 -> <float: 2.78> | + 2 -> <float: 7.11> s。

{{1}}

答案 1 :(得分:0)

在python列表中,类型不同。这意味着在顶层,您只会看到list而没有任何资格。

第一个是单个元素的列表,3个元素的元组,第二个是3个元素的列表,每个元素都是一个浮点数。

答案 2 :(得分:0)

列表是包含其他对象的对象。您可以访问列表[index],其中&#34;索引&#34;是你要拔出的东西列表中的位置。

元组就像一个列表,除了它无法更改。您以相同的方式访问它们:元组[索引]。如果您尝试更改元组的内容,则会收到错误。

列表使用方括号[]定义,元组使用括号()定义。

因此,在您的第一个示例中,您有一个列表,并且该列表中的内容是单个元组。里面那个元组是三个花车。如果你想从中拉出0.39,你可以使用listname [0] [0]。

第二个例子是一个包含三个浮点数的列表。如果你想从中拉出0.39,你可以使用listname [0]。

答案 3 :(得分:0)

第一个列表是嵌套的元组列表。所以你在列表中有一个元组。如果您查看Python数据结构,则另一个列表是普通的Python列表。这种区别至关重要,因为它会影响您与列表的交互方式。我将在下面向您展示一些示例:

normal_list = [0.39, 2.78, 7.11]
tuple_list = [(0.39, 2.78, 7.11)]

for num in tuple_list:
    print(num)

for num in normal_list:
    print(num)

由于常规列表包含列表中每个元素的索引,因此运行for循环将分别打印每个数字,如下所示:

0.39
2.78
7.11

但是,由于其他列表中有一个嵌套元组,for循环只会打印元组:

(0.39, 2.78, 7.11)

如果你想单独访问嵌套元组的每个元素,你必须将它存储在一个不同的变量中并调用你想要的索引,然后打印你想要的特定索引,因为我请执行以下操作:

alter_tuple_list = tuple_list[0]
print(alter_tuple_list[0])

输出如下:

0.39

另一个重要的区别是元组是不可变的,这意味着即使在列表中也不能改变它。您可以删除元组,并插入另一个元组,但不能更改元组中的特定元素。正如您可能已经知道的那样,可以更改正常列表。元组不可变的相同概念与嵌套元组保持相同。