使用Python初始化字典键与矩阵


字典是Python中四种常用数据类型之一,它包含键值对;而矩阵是由行和列组成的矩形数组。在Python中,我们可以使用一些内置函数,例如append()、str()、fromkeys()、dict()和deepcopy()来初始化字典键与矩阵。

语法

以下语法在示例中使用

append()

append()是Python中的一个内置方法,它接受单个参数作为输入,将其添加到字典的末尾。

str()

内置函数str()将值转换为字符串。因此,这些字符串可以与其他字符串组合。

fromkeys()

fromkeys()是Python中的一个内置函数,它返回具有键值对的字典。

dict()

内置函数dict()用于创建字典。

deepcopy()

内置函数deepcopy()是另一种递归处理字典元素的方法。

使用While循环和append()函数

该程序使用while循环迭代字典中的每个键,并使用append()函数插入列表以将矩阵表示为值。

示例

在下面的示例中,程序首先初始化名为n的变量,该变量将矩阵的列数初始化为值。然后在变量dict中创建字典。接下来,用初始值初始化变量i,这将有助于从起始键开始迭代。然后,while循环迭代字典中的所有键元素,并使用内置函数append()向每个键添加列表值。通过递增,它将迭代字典中的每个键元素,并借助str(dict)显示结果。

n = 3
# Assigning the key with matrix value
dict = {'A': [], 'B': [], 'C': []}
# Initial value i for iteration
i = 0
while i < n:
    dict['A'].append([])
    dict['B'].append([])
    dict['C'].append([])
# Increment to iterate on each key
    i += 1
# Display the result
print("Dictionary having key with matrix:\n" + str(dict))

输出

 The Initialized dictionary :
 {'A': [[], [], []], 'B': [[], [], []], 'C': [[], [], []]}

使用fromkeys()函数

该程序使用内置函数fromkeys()返回键值对,而append()函数则按列的顺序添加第二个列表,以设置键的矩阵值。

示例

在下面的示例中,程序首先使用内置函数fromkeys()和dict创建一个字典,并将其存储在变量A中。然后,将列表添加到第二列,形成矩阵值,并使用变量A显示结果。

A = dict.fromkeys([1, 2, 3, 4, 5], [[]])
A[1].append([])
print(A)

输出

 {1: [[], []], 2: [[], []], 3: [[], []], 4: [[], []], 5: [[], []]}

使用列表推导式

该程序使用列表推导式来解决字典键与矩阵的问题。

示例

在下面的示例中,我们将首先初始化字典并将其存储在变量keys中。然后,它创建一个元组列表,其中第一个元素设置为键,第二个元素设置为空列表。然后使用for循环,其中k变量迭代键,并将值设置为空列表,这定义了具有矩阵的键。所有这些过程都将其存储在变量res中。最后,我们使用名为res的变量打印输出。

keys = {"x", "y", "z"}
res = dict([(k, []) for k in keys])
print("Dictionary having key with matrix:\n", res)

输出

Dictionary having key with matrix:
 {'x': [], 'y': [], 'z': []}

使用deepcopy()

该程序使用内置函数deepcopy(),该函数将参数存储为复制过程递归发生。

示例

在下面的示例中,我们将首先从copy库导入deepcopy()模块,该模块设置变量的复制引用。然后将变量n初始化为5以设置矩阵的范围。现在,使用for循环在变量mtrx中根据n值迭代空列表。接下来,初始化字典以在变量res中设置键值。在值对中,它将使用内置函数deepcopy(),该函数接受变量mtrx作为参数来设置引用并显示结果。

# Using deepcopy()
from copy import deepcopy
n = 5
mtrx = [[] for idx in range(n)]
res = {'A': deepcopy(mtrx), 'B': deepcopy(mtrx), 'C': deepcopy(mtrx)}
# Display the result
print("Dictionary having key with matrix:\n" + str(res))

输出

 Dictionary having key with matrix:
{'A': [[], [], [], [], []], 'B': [[], [], [], [], []], 'C': [[], [], [], [], []]}

结论

在本文中,我们了解了解决问题陈述的各种方法。我们看到了两种不同的内置函数的使用,例如fromkeys()和deepcopy(),它们用于返回字典键及其值对。这种逻辑构建有助于解决与人口和现实世界统计数据相关的问题。

更新于:2023年8月14日

213 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告