-2

我有以下列表:

>>> list_of_list = [  ['a', 2], ['b', 3], ['a', 4, 5]  ]

我想要以下结果: 1. 它可以告诉我有 2 个不同的项目:'a' 和 'b' 2. 'a' 中有 2 个项目,'b' 中有 1 个项目 'a' = [2, 4 , 5] 'b' = 3

谢谢

4

1 回答 1

5

您可以(应该)使用字典,并将每个子列表中的第一项(“键”)映射到每个子列表中的第二项(“值”)。

使用 adefaultdict可以省去用空列表实例化每个新键的麻烦。

另外,正如eumiro 指出的那样,为了保持一致,值'b'应该是一个包含单个项目的列表,3而不仅仅是数字3

from collections import defaultdict

d = defaultdict(list)
for item in list_of_list:
  d[item[0]].append(item[1])
于 2013-02-25T11:28:24.440 回答