【发布时间】:2020-04-01 12:19:55
【问题描述】:
在我的 Python 脚本中,我有一个列表 l,其中填充了成对的数字。我需要将它们转换为 dict 对象,将列表中的每个唯一数字作为键,并将键配对的数字列表作为值,因此:
输入:
l = [(1,2),
(1,3),
(2,3),
(2,4),
(5,4),
(5,1)]
输出:
d = {1:[2,3,5],
2:[1,3,4],
3:[1,2],
4:[2,5],
5:[4,1]}
解决这个问题并不是一个新问题,例如见here:
d = dict()
[d [t [0]].append(t [1]) if t [0] in list(d.keys())
else d.update({t [0]: [t [1]]}) for t in l]
不幸的是,如果l 变长(大约 10^6 对),这个解决方案就不够快。谁能想到一种更有效的方法?
【问题讨论】:
标签: python