組合Python中字典列表中的值
假設我們有一個Python詞典,其值是鍵值對中的列表。我們需要建立一個列表,它將表示給定列表中鍵和值的所有可能組合。
使用`sorted`和`product`
`itertools`中的`product`函式可用於建立作為引數提供的可迭代物件笛卡爾積。我們對詞典進行排序,並使用兩個`for`迴圈來建立詞典中列表中所有可能的鍵值對組合。
示例
import itertools as it
Adict = {
"Day": ["Tue", "Wed"],
"Time": ["2pm", "9am"],
}
# Sorting Adict
sorted_Adict = sorted(Adict)
# Using product after sorting
res = [dict(zip(sorted_Adict, prod))
for prod in it.product(*(Adict[sorted_Adict]
for sorted_Adict in sorted_Adict))]
# Printing output
print(res)輸出
執行以上程式碼可產生以下結果 -
[{'Day': 'Tue', 'Time': '2pm'}, {'Day': 'Tue', 'Time': '9am'}, {'Day': 'Wed', 'Time': '2pm'}, {'Day': 'Wed', 'Time': '9am'}]使用zip
在這種方法中,我們使用`zip`函式和`itertools`中的`product`函式來建立所有可能的鍵和值組合,形成該列表詞典。
示例
import itertools as it
Adict = {
"Day": ["Tue", "Wed"],
"Time": ["2pm", "9am"],
}
# Sorting Adict
sorted_Adict = sorted(Adict)
# Using product after sorting
res = [[{key: value} for (key, value) in zip(Adict, values)]
for values in it.product(*Adict.values())]
# Printing output
print(res)輸出
執行以上程式碼可產生以下結果 -
[[{'Day': 'Tue'}, {'Time': '2pm'}], [{'Day': 'Tue'}, {'Time': '9am'}], [{'Day': 'Wed'}, {'Time': '2pm'}], [{'Day': 'Wed'}, {'Time': '9am'}]]
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP