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变量迭代keys,并将值设为空列表,从而定义具有矩阵的键。所有这些过程都将其存储在变量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,以设置矩阵的范围。现在根据n的值使用for循环在变量mtrx中迭代空列表。接下来,初始化字典以设置变量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(),用于返回字典键及其值对。这种逻辑建立有助于解决与人口和现实世界统计数据相关的问题。