使用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(),它們用於返回字典鍵及其值對。這種邏輯構建有助於解決與人口和現實世界統計資料相關的問題。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP