标签:python string-concatenation group-by string
我想将一个字符串列表连接成一个按列表中的值分组的新字符串.这是我的意思的一个例子:
输入
key = ['1','2','2','3']
data = ['a','b','c','d']
结果
newkey = ['1','2','3']
newdata = ['a','b c','d']
我理解如何加入文字.但我不知道如何正确迭代列表的值以聚合相同键值共有的字符串.
任何帮助或建议表示赞赏.谢谢.
解决方法:
from collections import defaultdict
d = defaultdict(list)
for k, v in zip(key, data):
d[k].append(v)
print [(k, ' '.join(v)) for k, v in d.items()]
输出:
[('1', 'a'), ('3', 'd'), ('2', 'b c')]
以及如何获得新列表:
newkey, newvalue = d.keys(), [' '.join(v) for v in d.values()]
并保存订单:
newkey, newvalue = zip(*[(k, ' '.join(d.pop(k))) for k in key if k in d])
标签:python,string-concatenation,group-by,string 来源: https://codeday.me/bug/20190718/1494003.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。