Python: (1,2,3) 和 [1,2,3] 有什么区别,何时使用?
在很多地方,(1,2,3)
(一个元组)和[1,2,3]
(一个列表)可以互换使用。
那我什么时候该用元组,什么时候该用列表呢?为什么要这样选择呢?
18 个回答
12
元组是一种快速灵活的方法,用来创建复合数据类型。
列表则是用来装东西的,简单来说,就是一个对象的集合。
举个例子,你可以用列表来存储一个班级里所有学生的详细信息。
在这个列表中,每个学生的信息可以用一个三元组来表示,里面包含他们的学号、名字和考试成绩。
`[(1,'Mark',86),(2,'John',34)...]`
另外,由于元组是不可改变的,所以它们可以用作字典中的键。
23
列表 [1,2,3]
是动态的,意思是你可以随意添加、删除或者修改里面的内容,但这种灵活性会让它的速度变慢。
而元组 (1,2,3)
是固定的,也就是说一旦创建就不能改变,所以它的速度会更快。
36
来自Python常见问题解答:
列表和元组虽然在很多方面很相似,但通常是用在根本不同的场合。元组可以理解为类似于Pascal的记录或C语言的结构体;它们是一小组相关的数据,可能是不同类型的,作为一个整体来操作。例如,一个笛卡尔坐标可以用两个或三个数字的元组来表示。
而列表则更像其他语言中的数组。它们通常包含数量不等的对象,这些对象都是同一种类型,并且是一个一个地进行操作。
一般来说,选择列表还是元组并不是仅仅根据它们是否可变。你会选择元组来存储一些完全不同的数据集合,这种情况下用一个完整的类会显得太复杂;而选择列表则是为了存储任何合理大小的、类型相同的数据集合。