如何用python折叠一个列表?
发布时间:2020-12-20 11:31:52 所属栏目:Python 来源:网络整理
导读:例如,我有一个看起来像这个的列表 # [# [elem1,... comment11]# [elem1,... comment12]# ...# [elem2,... comment21]# ...# ] 我应该从这个类似的东西: # [# [elem1,... [comment11,comment12]]# [elem2,... [comment21,...]]# ...# ] 与list的元素(仅每个
例如,我有一个看起来像这个的列表
# [ # [elem1,... comment11] # [elem1,... comment12] # ... # [elem2,... comment21] # ... # ] 我应该从这个类似的东西: # [ # [elem1,... [comment11,comment12]] # [elem2,... [comment21,...]] # ... # ] 与list的元素(仅每个列表的最后元素)不同的地方将连接到一个新列表. 解决方法
您正在寻找defaultdict.从
documentation:
>>> s = [('yellow',1),('blue',2),('yellow',3),4),('red',1)] >>> d = defaultdict(list) >>> for k,v in s: d[k].append(v) >>> d.items() [('blue',[2,4]),[1]),[1,3])] 要使其适应您的问题,代码可能如下所示: >>> s = [['elem1','comment11'],['elem1','comment12'],['elem2','comment21']] >>> d = defaultdict(list) >>> for l in s: d[l[0]].append(*l[1:]) >>> d.items() [('elem2',['comment21']),('elem1',['comment11','comment12'])] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |