假设我有这样的数据:
Owners = ('Bob', 'Bob', 'Bob', 'Jeff', 'Jeff', 'Mary', 'Ana')
Pets = ('Snake', 'Bird', 'Cat', 'Dog', 'Cat', 'Bird', 'Cat')
每一个名字都对应于他们所拥有的动物。 我想创建一个基于所有者的列表列表:
PetsByOwner = [(Snake, Bird, Cat), (Dog, Cat), (Bird), (Cat)]
PetsByOwner= []
for i in Owners:
if PetsByOwner and PetsByOwner[-1][0] == i:
PetsByOwner[-1].append(value)
else:
PetsByValue.append([value])
我试过了,但它只会破坏主人,而不是宠物。如何连接第二个列表? 任何帮助都将不胜感激
您可以使用
collections.defaultdict
:输出:
您可以从
itertools
使用groupby
:输出:
如果你想给结果添加所有者
印刷品:
相关问题 更多 >
编程相关推荐