我有两个列表,a
和b
:
a=[['apple'],['pear'],['grapes'],['cherry'],['mangoes'],['banana']]
b=[['apple',15,14],['orange',30,43],['pear',6,67],['grapes',90,709],['cherry',23,9]]
我想要的结果是:
b=[['apple',15,14],['orange',30,43],['pear',6,67],['grapes',90,709],['cherry',23,9],['mangoes',0.0,0.0],['banana',0.0,0.0]]
我试图比较两个不等长度列表,并将一个列表中的唯一值附加到另一个不等维度列表中。
答案 0 :(得分:0)
首先,我会制作a
平面字符串列表。如果您从其他地方获得a
,则可以使用
a = [k[0] for k in a]
接下来,我会b
成为dict
,如有必要,再次使用
b = dict((k[0], k[1:]) for k in b)
最后,您只想为b
中尚未加入a
的密钥的新值增加b
。
b.update(dict((k, [0.0,0.0]) for k in a if k not in b))
要转换回列表列表,请使用
b = [[key] + list(values) for k, values in b.iteritems()]