在下面的例子中,我正在努力从字典中删除相同的键:
{('cat', 'tiger'): 18,
('tiger', 'cat'): 18,
('chines', 'gentleman'): 7,
('gentleman', 'chines'): 7}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我考虑反向顺序('cat', 'tiger'): 18和('tiger', 'cat'): 18相同的键,并尝试制作如下的新字典
{('cat', 'tiger'): 18,
('gentleman', 'chines'): 7}
Run Code Online (Sandbox Code Playgroud)
我正在尝试调整任何相反的顺序情况,当我有一个类似的字典,如{(('cage', 'cat'), 5),(('cat', 'cage'), 5)}要合并或删除,任何一个.
您可以按以下方式执行操作:
d = {('cat', 'tiger'): 18,
('tiger', 'cat'): 18,
('chines', 'gentleman'): 7,
('gentleman', 'chines'): 7}
result = {tuple(sorted(x)): y for x, y in d.items()}
# {('cat', 'tiger'): 18, ('chines', 'gentleman'): 7}
Run Code Online (Sandbox Code Playgroud)
在这种dict理解中,每组"相等"键的最后遇到的值获胜.对于您的样本数据,这应该无关紧要,因为这些键具有equla值.请注意,这也只是对元组进行排序,而不管原始中实际出现的排序版本dict.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |