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)