Python 根据其中一个值从两个嵌套图纸中选择一个

Python 根据其中一个值从两个嵌套图纸中选择一个,python,list,Python,List,我有两个带有嵌套列表的列表。每个嵌套列表的第一项为整数,第二项为字符串。需要另一个列表,该列表包含嵌套列表,其中的行出现在两个给定列表中,并且第一项是一个较大的数字 given a = [[1,'one'], [2,'two'], [3,'three'],[10,'ten']] b = [[3,'one'], [1,'two'],[5,'three']] needed: c = [[3,'one'],[2,'two'],[5,'three']] 对于给定的数据,您可以使用内置函数zip:

我有两个带有嵌套列表的列表。每个嵌套列表的第一项为整数,第二项为字符串。需要另一个列表,该列表包含嵌套列表,其中的行出现在两个给定列表中,并且第一项是一个较大的数字

given

a = [[1,'one'], [2,'two'], [3,'three'],[10,'ten']]
b = [[3,'one'], [1,'two'],[5,'three']]

needed:

c = [[3,'one'],[2,'two'],[5,'three']]

对于给定的数据,您可以使用内置函数
zip

a = [[1,'one'], [2,'two'], [3,'three'],[10,'ten']]
b = [[3,'one'], [1,'two'],[5,'three']]


[[max(e[0], i[0]), e[1]] for e, i in zip(a, b)]
输出:

[[3,'one'],[2,'two'],[5,'three']]

如果列表
a
b
中的子列表顺序不同(以字符串为基数),则可以使用:

da = dict((e[::-1] for e in a))
db = dict((e[::-1] for e in b))

[[max(da[k], db[k]), k] for k in set(da).intersection(db)]

你好欢迎来到SO。请包括您解决问题的尝试。嗨!非常感谢。包括你自己的尝试是一条规则吗?在这种情况下,我没有一个好的方法:(这是一个很好的实践,表明你正试图自己解决问题。它表明你所做的尝试,让别人了解你的理解,有时是解决问题的起点。