使用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(),它们用于返回字典键及其值对。这种逻辑构建有助于解决与人口和现实世界统计数据相关的问题。