在Python中列表和元组的区别 在Python中如何连接到MySQL数据库 如何在Python中创建单例 在Python中列表和元组的区别 除了元组是不可变的之外,还有一个语义上的区别应该指导它们的使用。元组是异构数据结构(即,它们的条目具有不同的含义),而列表是同构序列。元组有结构,列表有顺序。 使用这种区别使代码更加明确和易懂。 一个例子是成对的页面和行号来引用书中的位置,例如: my_location = (42, 11) # page number, line number 然后,您可以将其用作字典中的键来存储位置注释。另一方面,列表可用于存储多个位置。当然,人们可能希望在列表中添加或删除位置,因此列表是可变的是有道理的。另一方面,在现有位置添加或删除项目没有意义 - 因此元组是不可变的。 在某些情况下,您可能希望更改现有位置元组中的项目,例如在遍历页面行时。但元组不可变性迫使您为每个新值创建一个新的位置元组。这看起来很不方便,但是使用这样的不可变数据是价值类型和函数编程技术的基石,它们具有很大的优势。 列表和元组之间的区别 1.字面量 someTuple = (1,2) someList = [1,2] 2.尺寸 a = tuple(range(1000)) b = list(range(1000)) a.__sizeof__() # 8024 b.__sizeof__() # 9088 由于元组操作的大小较小,它变得有点快,但在你拥有大量元素之前,没什么可说的。 3.允许的操作 b = [1,2] b[0] = 3 # [3, 2] a = (1,2) a[0] = 3 # Error 这也意味着您无法删除元素或对元组进行排序。但是,您可以向列表和元组添加新元素,唯一的区别是您将通过添加元素来更改元组的id a = (1,2) b = [1,2] id(a) # 140230916716520 id(b) # 748527696 a += (3,) # (1, 2, 3) b += [3] # [1, 2, 3] id(a) # 140230916878160 id(b) # 748527696 4.用法 由于列表是可变的,因此它不能用作字典中的键,而可以使用元组。 a = (1,2) b = [1,2] c = {a: 1} # OK c = {b: 1} # Error 在Python中如何连接到MySQL数据库 如何在Python中创建单例