from collections import OrderedDict
l = [('Monkey', 71), ('Monkey', 78), ('Ostrich', 80), ('Ostrich', 96), ('Ant', 98)]
d = OrderedDict()
for i, j in l:
d[i] = j
print d
OrderedDict([('Monkey', 78), ('Ostrich', 96), ('Ant', 98)])
预期的“d”应该是:
OrderedDict([('Monkey', (71,78)), ('Ostrich', (80,96)), ('Ant', 98)])
如果所有值都是元组或列表,则没有问题。你知道吗
下面是一种使用
groupby
的方法:给出以下内容。注意,'Ant'中的98并不像原来的问题那样是“tupled”。你知道吗
不是每次都替换值,而是将其添加到元组:
顺便说一句,因为
tuple
是不可变的,所以每次追加都会创建一个新对象。如果您使用list
s,这将更有效相关问题 更多 >
编程相关推荐