我有 3 个列表。
子列表的字段 1 是名称,字段 2 是数字,字段 3 是数字。这种格式始终相同,不会改变。3 个列表中总是有相同的名称;但是,顺序可能不一样。
a = [['jane', '1', '120'], ['bob', '3', '35'], ['joe', '5', '70']]
b = [['bob', '1', '12'], ['jane', '2', '240'], ['joe', '1', '100']]
c = [['joe', '2', '30'], ['jane', '5', '45'], ['bob', '0', '0']]
我想要一个包含列表子列表的字段 2 和 3 总和的结果(任何对象类型)。
result = [['jane', '8', '405'], ['bob', '4', '47'], ['joe', '8', '200']]
在伪 Python3 代码中,我猜它看起来像这样,但我无法弄清楚在 Python3 中执行此操作的正确方法。更不用说以 Pythonic 方式进行了:
def sum_f2_f3(list_a, list_b)
where element[0] in list_a.sub_list == element[0] in list_b.sub_list:
x = element[0]
result[x:1] = list_a.sub_list[0:1] + list_b.sub_list[0:1]
result[x:2] = list_a.sub_list[0:2] + list_b.sub_list[0:2]
return result
result = sum_f2_f3(sum_f2_f3(a,b), c)
有任何想法吗?哪些内置 Python 工具可以帮助我解决这个问题?