所以我有這個字典:
role_positions = {role1: 1, role2: 2, role3: 3}
我如何反轉它的值?像這樣:
role_positions = {role1: 3, role2: 2, role3: 1}
uj5u.com熱心網友回復:
您可以將值作為串列獲取,然后將它們反轉并使用鍵壓縮并回傳 dict,如下所示:
# python_version > 3.8
>>> dict(zip(role_positions, reversed(role_positions.values())))
{'role1': 3, 'role2': 2, 'role3': 1}
# python_version < 3.8
>>> dict(zip(role_positions, reversed(list(role_positions.values()))))
對于舊版本的python,為了確定不同運行時的順序,我們需要輸入:(dict在這里我們可以閱讀一個很好的解釋)OrderedDict
我們假設我們得到OrderDict作為輸入,下面的代碼僅用于創建OrderDict. 如果我們在舊版本中使用下面的代碼,我們可能會得到不同的 OrderedDict(因為role_positions可能會得到不同的訂單),但我們假設用戶輸入OrderDict
from collections import OrderedDict
# we supoose we input below dict
o_dct = OrderedDict((k, v) for k,v in role_positions.items())
dict(zip(o_dct, reversed(list(o_dct.values()))))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/492682.html
上一篇:一起列印不同字典中值的乘積
