我正在嘗試創建一個 Python 函式,該函式接收一個其值為內部字典的字典。如果內部字典的鍵相同,則應回傳 1,否則應回傳 0。這是我嘗試的代碼:
def f(dct: dict) -> int:
for i in range(len(dct)):
for j in range(len(dct)):
dct1 = list(dct.values())
if dct1[i].keys() == dct1[j].keys():
return 1
else:
return 0
當輸入字典只有兩個內部字典但不能用于三個時,它實際上起作用了。例如:
f(
{
"A": {1: "a", 2: "b"},
"B": {2: "c", 3: "d"},
}
)
回傳 0 (這是我想要的結果)但是
f(
{
"A": {1: "a", 2: "b"},
"B": {2: "c", 3: "d"},
"C": {1: "c", 2: "d"},
}
)
回傳 1,這不是我想要的結果。
請問我該如何解決?
uj5u.com熱心網友回復:
所以你想確保所有作為值的字典都dct具有相同的鍵(忽略值)?
def all_key_sets_equal(dct: dict) -> bool:
key_sets = [set(nd) for nd in dct.values()]
return all(key_set == key_sets[0] for key_set in key_sets)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/454571.html
上一篇:python中的字典鍵映射
