我有一个二维列表。
l = [[100, 1], [43, 2], [201, 1], [5, 7], ...]
我希望将列表转换为字典,其中第二个元素作为键。每个键的值应该是一个包含所有第一个元素的列表,这些元素的第二个元素作为键。 对于这个样本列表,字典应该如下所示:
{
1: [100, 201],
2: [43],
7: [5],
...
}
我有两个解决方案来进行这种转换。哪一个更有效,为什么?还有:是否有其他更有效的解决方案?
解决方案1:
d = {}
for elem in l:
if elem[1] in d:
d[elem[1]].append(elem[0])
else:
d[elem[1]] = [elem[0]]
解决方案2:
d = {}
for elem in l:
d[elem[1]] = []
for elem in l:
d[elem[1]].append(elem[0])