【发布时间】:2023-04-06 02:26:01
【问题描述】:
我想使用字典推导来反转字典 key, value
对,但如果新字典有多个键值,那么它将被最后一个值替换。
如果键重复,是否可以使用推导追加到新字典中的值?
输入:
test_di = {'a':'1', 'b':'2', 'c':'3', 'd':'2'}
代码:
{v:k for k,v in test_di.items()}
这段代码的输出:
{'1': 'a', '3': 'c', '2': 'd'}
期望的输出:
{'1': ['a'], '3': ['c'], '2': ['b','d']}
【问题讨论】:
-
“反向”是什么意思?在 Python 中,字典是无序的。
-
我认为他想用键换取值,用值换取键。然后它会使用该键来查找该键最近分配的值?
-
您能否编辑您的问题以至少包含一个示例输入字典和所需的输出,最好是您尝试过的字典理解?
-
根据值对
dict.items()
进行排序,然后使用itertools.groupby
按值对它们进行分组,但这是 O(N Log N) 且不值得努力。
标签:
python
dictionary
dictionary-comprehension
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:是否可以使用字典理解在 python 中反转字典 - Python技术站