数字列表和具有单个数字元组的列表有什么区别?

  • 本文关键字:数字 列表 区别 单个 元组 python
  • 更新时间 :
  • 英文 :


这个列表有什么区别

[(0.39, 2.78, 7.11)]

还有这个其他名单?

[0.39, 2.78, 7.11]

我已经打印了字体,两者都是<class 'list'>

Python 容器的类型不包含有关以下内容的信息 被包含。列表就是列表,无论它包含元组还是浮点数。同样,元组就是元组,无论它包含什么。L1L2都是list的实例,但这并不能告诉我们任何关于这两个列表的内容

L1是一个包含一个对象的列表,恰好是一个包含三个float的元组。

L1 --> <list> 
|
+ 0 -> <tuple>
| 
+ 0 -> <float: 0.39>
|
+ 1 -> <float: 2.78>
|
+ 2 -> <float: 7.11>

L2是一个包含三个对象的列表,所有对象都floats。

L2 --> <list>
|
+ 0 -> <float: 0.39>
|
+ 1 -> <float: 2.78>
|
+ 2 -> <float: 7.11>

在python中,列表在类型上不是同质的。这意味着在顶层,您将在没有任何资格的情况下看到list

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

列表是包含其他对象的对象。你访问一个带有list[index]的列表,其中"index"是你正在拉出的东西列表中的位置。

元组就像一个列表,只是它不能更改。你以同样的方式访问它们:tuple[index]。如果您尝试更改元组的内容,则会收到错误。

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

因此,在第一个示例中,您有一个列表,该列表内是一个元组。该元组内有三个浮点数。如果你想从中提取 0.39,你可以使用 listname[0][0]。

第二个示例是包含三个浮点数的列表。如果你想从中提取 0.39,你可以使用 listname[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

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

最新更新