我需要将这两个列表合并到 python

I need to merge these two lists together in python

listA = [['a','1'],['e','5'],['i','3'],['o','7'],['u','3']]
listB = [['a','6'],['b','3'],['c','4'],['d','1'],['e','2']]

现在,这些列表表示项目计数。我想合并这两个列表,这样我也可以看到另一个列表中每个项目的计数。

如果一个项目存在于一个列表中而没有出现在另一个列表中,那么我想将其声明为“0”而不是 null。如下图:

output = [['a','1','6'],['e','5','2'],['i','3','0'],['o','7','0'],
      ['u','3','0'],['b','0','3'],['c','0','4'],['d','0','1']]

编辑:只是为了澄清问题以供将来参考。已经有人回答了。

您可以使用集合中的 defaultdict。 像这样:

>>> from collections import defaultdict
>>> output = defaultdict(list)

>>> for k,v in dict(listA).items():
...     output[k].append(v)
...
>>> output
defaultdict(<class 'list'>, {'a': ['1'], 'e': ['5'], 'i': ['3'], 'o': ['7'], 'u': ['3']})

>>> for k,v in dict(listB).items():
...     output[k].append(v)
...
>>> output
defaultdict(<class 'list'>, {'a': ['1', '6'], 'e': ['5', '2'], 'i': ['3'], 'o': ['7'], 'u': ['3'], 'b': ['3'], 'c': ['4'], 'd': ['1']})

>>> [[k,*v] for k,v in output.items()]
[['a', '1', '6'], ['e', '5', '2'], ['i', '3'], ['o', '7'], ['u', '3'], ['b', '3'], ['c', '4'], ['d', '1']]
listA = [['a','1'],['e','5'],['i','3'],['o','7'],['u','3']]
listB = [['a','6'],['b','3'],['c','4'],['d','1'],['e','2']]

dictA = dict(listA)
dictB = dict(listB)

result = []

for key, value in listA:
  result.append([key, value, dictB.get(key, '0')])

for key, value in listB:
  if key not in dictA:
    result.append([key, '0', value])

print(result)
# [['a', '1', '6'], ['e', '5', '2'], ['i', '3', '0'], ['o', '7', '0'], ['u', '3', '0'], ['b', '0', '3'], ['c', '0', '4'], ['d', '0', '1']]