繁体   English   中英

根据其他列表对值进行分组

[英]Grouping values based on other list

根据组名对列表值进行分组:

groups = ['a','b','c','a','b','b']
values = [1, 2, 3, 4, 5, 6]

输出文本文件应如下所示:

a 1 4
b 2 5 6
c 3

with open ('out.txt','w') as fo:
   fo.write(group + str(values) + '\n')

您可以使用zip函数和dict.setdefault方法将值分组到字典中,然后将项目写入file:

>>> groups = ['a','b','c','a','b','b']
>>> values = [1, 2, 3, 4, 5, 6]
>>> 
>>> d={}
>>> 
>>> for i,j in zip(groups,values):
...   d.setdefault(i,[]).append(j)
... 
>>> d
{'a': [1, 4], 'c': [3], 'b': [2, 5, 6]}



with open ('out.txt','w') as fo:
   for k,v in d.items():
        fo.write(k +'  '+ ' '.join(map(str,values)) + '\n')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM