使用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 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.