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'}

更新于:2023年5月15日

26K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告