Python 中列表、元组和字典的比较
在 Python 中,存在不同类型的数据结构。其中包括列表、元组和字典。这三种数据结构都用于在 Python 编程语言中存储数据。
什么是列表?
列表是 Python 中的一种数据结构,用于在一个数据结构中存储多个值。我们可以使用方括号 [] 在 Python 中创建列表。它是可变的,这意味着一旦创建了列表,我们就可以修改它。
它可以包含多种不同数据类型的元素,例如 int、float、str 等,这些元素以有序的方式用逗号分隔。列表中的元素可以使用索引值访问。可以对列表应用负索引或正索引。
语法
以下是创建列表的语法。
variable_name = [e1,e2,e3]
其中:
变量名是变量的名称,
e1、e2、e3 是列表的元素
示例
在这个例子中,当我们将元素放在方括号中时,就会创建一个列表。
list = [1,2,3,4,5,6] print(list) print(type(list))
输出
[1, 2, 3, 4, 5, 6] <class 'list'>
示例
如果我们使用方括号 [] 创建列表并追加值,则会创建列表。以下是代码。
list = [] print("The empty list created by square braces:", list) list.append([10,30,20]) print("The list with the appended values:", list) print(type(list))
输出
以下是创建空列表并向其中追加定义的值的输出。
The empty list created by square braces: [] The list with the appended values: [[10, 30, 20]] <class 'list'>
什么是元组?
元组是 Python 编程语言的一种数据结构。它用于存储多个值,这些值以有序的方式用逗号分隔。它用括号 () 表示。它是不可变的,这意味着一旦创建了元组,就不能修改它。
元组中的元素可以是 int、float、string、二进制数据类型,并且允许元素重复。它使用索引来访问元素。它允许元组中只有一个元素。
语法
variable_name = (e1,e2,e3)
其中:
变量名是变量的名称,
e1、e2、e3 是元组的元素
示例
在这个例子中,如果我们将值放在括号中,则会创建一个元组。
tuple = ('a','b',10,30,14,7) print(tuple) print(type(tuple))
输出
('a', 'b', 10, 30, 14, 7) <class 'tuple'>
示例
在这里,我们创建了一个元组,当我们尝试追加一个元素时,它会引发错误,因为元组是不可变的。
tuple1 = tuple() print("The empty tuple created using brackets, ",tuple1) tuple1[0] = 30 print(type(tuple1))
输出
以下是使用 **tuple 关键字** 创建空元组的输出。
('The empty tuple created using brackets, ', ()) Traceback (most recent call last): File "main.py", line 3, in <module> tuple1[0] = 30 TypeError: 'tuple' object does not support item assignment
字典
字典是 Python 中的一种数据结构。字典也称为 **关联内存或关联数组**。我们可以使用花括号 {} 创建字典。字典以键值对的形式存储数据。
字典中的数据可以通过键访问,而在其他数据结构中,我们使用索引,并且可以通过索引值访问特定键的值。我们可以使用任何不可变对象作为键,这意味着元组和字符串可以用作键。字典中的键是唯一的,而值则不必唯一。
语法
variable_name = {k1:v1,k2,v2}
其中:
变量名是变量的名称,
k1、k2 是字典的键
v1、v2 是字典键的值。
示例
字典可以通过将键值对传递给 {} 来创建,其中键和值用冒号分隔。
d = {'a':10,'b':20,'c':30} print(d) print(type(d))
输出
{'a': 10, 'b': 20, 'c': 30} <class 'dict'>
列表与元组与字典的比较
在上面的例子中,我们看到了列表、元组和字典的创建。现在让我们看看这三者之间的区别。
列表 |
元组 |
字典 |
---|---|---|
列表包含异构元素 |
元组包含异构元素 |
而字典包含键值对。 |
列表用 [] 表示。 |
元组用 () 表示。 |
字典用 {} 表示。 |
Python 中的列表是可变的。 |
这些是不可变的。 |
这些是可变的。 |
列表是有序的。 |
元组是无序的。 |
字典是有序的。 |
列表和元组可以通过使用元素而无需定义键来创建,而字典则使用键值对。
如果我们想用某个键名创建一个元素组,那么我们可以选择字典,因为它接受键值对。
如果我们想列出一些元素,并希望根据需要稍后进行更改,那么我们可以选择列表。
如果我们想将一些元素组合成一个组,并且不想进一步进行任何更改,那么我们可以选择元组。让我们看看列表、元组和字典的组合示例。
示例
让我们来看一个例子,来理解列表、元组和字典之间的区别。
list = ['a',10,'b',0.4,True] print("List:", list) tuple = ('a',10,'b',0.4,True) print("Tuple:", tuple) dictionary = {'a':True,10:'Ten'} print("Dictionary:", dictionary)
输出
List: ['a', 10, 'b', 0.4, True] Tuple: ('a', 10, 'b', 0.4, True) Dictionary: {'a': True, 10: 'Ten'}