在Python中创建列表字典的各种方法

2025年1月5日 | 阅读 7 分钟

引言

在本教程中,我们将学习如何在 Python 中创建列表字典。 Python 中的字典代表以键值对形式存储的数据集合。 我们可以根据键的值提供不同的信息数据类型。 它有助于编码人员存储数据和类别并据此创建数据。 另一方面,信息也存储在列表中,但此处的内容仅与少量值相关。 字典和列表都是索引的。 在列表中,我们将数据存储为数组,我们可以迭代和操作数组。

到目前为止,我们已经看到了创建字典和由 Python 字典中的不同键值对组成的函数。 现在,让我们看看创建列表字典的不同方法。 请注意,Python 字典中键的限制是只能使用不可变数据类型作为键,即我们不能使用列表字典作为键。

示例

在这里,我们给出一个在 Python 中创建列表字典的示例 -

程序代码

在这里,我们给出一个程序代码,展示了如何在 Python 中创建列表字典时遇到类型错误。 代码如下 -

输出

现在,我们运行上面的代码并找到类型错误的结果。 结果如下 -

TypeError: unhashable type: 'list'

在 Python 中创建列表字典的方法

在 Python 中创建列表字典有多种方法,如下所示 -

  1. 使用下标
  2. 使用 setdefault() 方法
  3. 使用列表推导式
  4. 使用 defaultdict
  5. 使用 append() 方法
  6. 使用 itertools 模块
  7. 使用 Json.dump() 方法

现在我们来学习这些方法,如下 -

1. 使用下标

此代码从一个空字典 Dict 开始。 然后它向字典中添加两个键值对:“name”的值为 [“Rupa”, “Priya”],“age”的值为 [23, 30]。 最后,代码打印字典的内容。

程序代码

在这里,我们给出一个在 Python 中使用下标创建列表字典的程序。 代码如下 -

输出

现在我们运行上面的代码,并在 Python 中找到了一个使用下标创建的列表字典。 输出如下 -

{'name': ['Rupa', 'Priya'], 'age': [23, 30]}

2. 使用 setdefault() 方法

setdefault() 方法是另一种在 Python 中创建列表字典的方法。 此方法用于返回与给定键关联的字典值。 此方法的一个特点是,如果没有唯一键,它将通过添加来创建一个唯一键。 遍历列表并使用 setdefault() 方法将元素保留在给定范围内。

程序代码

这里我们给出一个在 Python 中使用 setdefault() 方法创建列表字典的程序。 代码如下 -

输出

现在我们运行上面的代码,并在 Python 中找到了一个使用 setdefault() 方法创建的列表字典。 输出如下 -

The dictionary of list {10: ['10'], 11: ['10'], 12: ['10'], 40: ['40'], 41: ['40'], 42: ['40'], 20: ['20'], 21: ['20'], 22: ['20'], 60: ['60'], 61: ['60'], 62: ['60'], 80: ['80'], 81: ['80'], 82: ['80']}

3. 使用列表推导式

列表推导式是在 Python 中创建列表字典的另一种方法。 在列表推导式形式中,我们遍历值“10”、“40”、“20”、“60”和“80”,对于每个值,都会在字典中创建一个键值对。 键是当前值,值是从转换为数字的值开始到该值加 3 结束的数字范围。

程序代码

在这里,我们给出一个在 Python 中使用列表推导式创建列表字典的程序。 代码如下 -

输出

现在我们运行上面的代码,并在 Python 中找到了一个使用列表推导式创建的列表字典。 输出如下 -

The dictionary of list {'10': range(10, 13), '40': range(40, 43), '20': range(20, 23), '60': range(60, 63), '80': range(80, 83)}

4. 使用 defaultdict

defaultdict 是在 Python 中创建列表字典的另一种方法。 在这里,我们从 Collections 模块导入 defaultdict 类。 它定义了一个元组列表,每个元组包含一个键值对。 创建一个名为 d_Dict 的 defaultdict 对象,该对象将包含一个空列表作为值。 使用循环遍历元组列表,并将每个元组解包到 key 和 val 变量中。 然后,将 val 添加到 d_Dict 字典中与 key 关联的列表中。

程序代码

在这里,我们给出一个在 Python 中使用 defaultdict 创建列表字典的程序。 代码如下 -

输出

现在我们运行上面的代码,并在 Python 中找到了一个使用 defaultdict 创建的列表字典。 输出如下 -

The value of default dictionary defaultdict(<class 'list'>, {'Welcome': [1], 'to': [2], 'javatpoint': [3]})

5. 使用 append() 方法

append() 方法是另一种在 Python 中创建列表字典的方法。 使用 append() 方法将嵌套列表作为值附加。 创建一个新列表,然后将其添加到值中。

程序代码

这里我们给出一个在 Python 中使用 append() 方法创建列表字典的程序。 代码如下 -

输出

现在,我们运行上面的代码,并在 Python 中找到了一个使用 append() 方法创建的列表字典。 输出如下 -

The dictionary of list {'key': [1, 2, 3, ['Riye', 'Priya', 'Hiya']]}

6. 使用 itertools 模块

itertools 模块是在 Python 中创建列表字典的另一种方法。 一种方法是使用 itertools 模块中的 zip_longest 函数。 此函数允许您将两个或多个可迭代对象的元素组合在一起,并用 fill value 填充缺失的元素。

程序代码

这里我们给出一个在 Python 中使用 itertools 模块创建列表字典的程序。 代码如下 -

输出

现在,我们运行上面的代码,并在 Python 中找到了一个使用 itertools 模块创建的列表字典。 输出如下 -

The dictionary of list {10: [18, 'Riya'], 30: [25, 'Priya'], 60: [30, 'Hiya'], 20: [45, 'Diya'], 40: [56, 'Esha'], 50: [72, 0], 0: [23, 0]}

7. 使用 Json.dump() 方法

Json.dump() 方法是在 Python 中创建列表字典的另一种方法。 通过导入 JSON 模块,您初始化一个包含元组的列表。 然后,从一个空字典开始。 该代码使用 json.dumps() 函数将列表转换为 JSON 格式的字符串,并将该字符串作为键,值为“converted”存储在 dict 字典中。 最后,打印字典。

程序代码

在这里,我们给出一个在 Python 中使用 Json.dump() 方法创建列表字典的程序。 代码如下 -

输出

现在,我们运行上面的代码,并在 Python 中找到了一个使用 Json.dump() 方法创建的列表字典。 输出如下 -

The dictionary of list {'[["Riya", 10], ["Priya", 20], ["Hiya", 30]]': 'converted'}

结论

在本教程中,我们学习了在 Python 中创建列表字典的方法。 在这里,我们学习了在 Python 中创建列表字典的各种方法,以及一些合适的示例。