此列表之间有什么区别
[(0.39, 2.78, 7.11)]
和另一个名单?
[0.39, 2.78, 7.11]
我打印了类型,两者都是<class 'list'>
答案 0 :(得分:1)
Python容器的类型不包含有关内容的信息
包含在内。列表是一个列表,无论它是否包含元组或浮点数。同样,元组是一个元组,无论它包含什么。 L2
和list
都是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
另一个重要的区别是元组是不可变的,这意味着即使在列表中也不能改变它。您可以删除元组,并插入另一个元组,但不能更改元组中的特定元素。正如您可能已经知道的那样,可以更改正常列表。元组不可变的相同概念与嵌套元组保持相同。