Python元组列表

Asi*_*sif 3 python

L1 = ['A', 'B', 'C', 'D'] 
L2 = [('A', 10)], ('B', 20)]
Run Code Online (Sandbox Code Playgroud)

现在从这两个列表中我如何生成公共元素

output_list = [('A', 10), ('B', 20), ('C', ''), ('D', '')]
Run Code Online (Sandbox Code Playgroud)

如何使用L1和L2获得output_list?

我尝试了以下内容

  for i in L2:
    for j in L1:
       if i[0] == j:
           ouput_list.append(i)
       else:
           output_list.append((j, ''))
Run Code Online (Sandbox Code Playgroud)

但我没有得到我想要的确切内容

Bre*_*arn 14

[(k, dict(L2).get(k, '')) for k in L1]

dict(L2)如果您不想每次重新计算它(例如,如果L2很大),您可以从列表理解中拉出来.

d = dict(L2)
[(k, d.get(k, '')) for k in L1]
Run Code Online (Sandbox Code Playgroud)