Jul*_*nze 0 python python-itertools
鉴于名单
l = [('a', 1), ('b', 2), ('a', 1), ('a', 2), ('c', 5), ('b', 3)]
Run Code Online (Sandbox Code Playgroud)
我如何得到字典
{'a': [1, 1, 2], 'c': [5], 'b': [2, 3]}
Run Code Online (Sandbox Code Playgroud)
在 Python 中?
编辑:我正在寻找功能解决方案(仅使用 1 个表达式)。
您可以使用collections.defaultdict(). 或者,如果您不想 import collections,您可以使用普通 dict 实现相同的行为dict.setdefault():
>>> my_dict = {}
>>> l = [('a', 1), ('b', 2), ('a', 1), ('a', 2), ('c', 5), ('b', 3)]
>>> for k, v in l:
... my_dict.setdefault(k, []).append(v)
...
>>> my_dict
{'a': [1, 1, 2], 'c': [5], 'b': [2, 3]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3185 次 |
| 最近记录: |