python /collections 模塊中是否有任何資料型別可以讓我減少具有相同值的字典(雖然不是默認字典):
d = {'a': 'X', 'b': 'X', 'c': 'X', 'd': 'X', 'e': 'X', 'f': 'Z'}
更小的東西
d = {('a','b','c','d','e'): 'X', ('f',): 'Z'}
所以當我選擇時我可以獲得相同的輸出“X”
d['a'] == 'X'
我很好奇,因為“X”在我的代碼中是一個長文本,如果只在一個地方提到,更改所有值真的很容易。
uj5u.com熱心網友回復:
嘗試這個!
d = {'a': 'X', 'b': 'X', 'c': 'X', 'd': 'X', 'e': 'X', 'f': 'Z'}
dct = {}
out = {}
for k in d.keys():
if dct.get(d[k], None):
dct[d[k]].append(k)
else:
dct[d[k]] = list(k)
for k in dct.keys():
out[tuple(dct[k])] = k
print(out)
uj5u.com熱心網友回復:
如果X太大以至于您不想復制它,您可能需要單獨存盤它并使用另一個識別符號來參考它。例如,您可以執行以下操作:
alias = {1: 'X', 2: 'Z'}
d = {'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 2}
# Query
alias[d['a']] == 'X'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/358757.html
