我有一个这样的数据列表
data = [['A',11],['A',22],['B',14],['C',23],['C',31],['B',12]]
我将独特的项目放在另一个列表中,如下所示:
search=[]
for item in data:
if search.count(item[0]) == 0:
search.append(item[0])
# search contains ['A', 'B', 'C']
如何使用列表 search 搜索列表 data 并生成类似的输出?
['A', [11,22]]
['B', [14,12]]
['C', [23,31]]
请您参考如下方法:
使用字典:
d = {}
for k, v in data:
d.setdefault(k, []).append(v)
print d
打印
{'A': [11, 22], 'C': [23, 31], 'B': [14, 12]}
您可以使用 d.keys() 获取所有键的列表。
与其构建列表 data,不如从一开始就使用字典更好。
(其他人很快会为此推荐 defaultdict。在这种情况下我更喜欢 dict,但这并不重要。)
