from collections import defaultdict
data = [('a',1),('a',2),('a',3),('b',10),('b',100),('c',99),('d',-1),('d',-2)]
if __name__ == '__main__':
result = defaultdict(list)
for alphabet, number in data:
result[alphabet].append(number)
或不带收集模块:
if __name__ == '__main__':
result = {}
for alphabet, number in data:
if alphabet not in result:
result[alphabet] = [number, ]
continue
result[alphabet].append(number)
在看到线程中的响应并阅读了defaultdict的实现之后,我实现了自己的版本,因为我不想使用collections库。你知道吗
或不带收集模块:
但我认为,第一种解决办法更有效、更明确。你知道吗
如果您想避免使用
defaultdict
,但对使用itertools
感到满意,那么可以使用一行代码相关问题 更多 >
编程相关推荐