将字典元素组合到列表列表中

Ele*_*ric 0 python dictionary list nested-lists

我有两个内容词典:

dct1 = {'NL': 7,'MC': 9, 'PG': 8}
dct2 = {'NL': 2,'MC': 10,'PG': 6}
Run Code Online (Sandbox Code Playgroud)

你可以说这些代表了一个游戏中的分数,其中字母是名称而数字是分数.两个词典之间的差异是根据标准计算它们的数字.

现在我想将字典中的内容组合成列表列表.我将简单地提供我的代码.基本上我当时所做的就是将两个词典中的内容转换为列表列表,其中:

L1 = [['NL',7],['MC',9],['PG',8]]
L2 = [['NL',2],['MC',10],['PG',6]]
Run Code Online (Sandbox Code Playgroud)

将它们转换为列表列表的代码:

L1 = []
for i, occurrences in dct1.items():
    L1.append([i,occurrences])
L2 = []
for j, occurrences in dct2.items():
    L2.append([j,occurrences])
Run Code Online (Sandbox Code Playgroud)

一旦我打印了两个列表,我就像上面写的一样.

但是现在,我想将它们组合成一个列表,而不是有两个不同的列表,我的输出是:

L3 = [['NL',7,2],['MC',9,10],['PG',8,6]]
Run Code Online (Sandbox Code Playgroud)

基本上单个列表不必重复两次字母,只需添加第二个数字.任何帮助深表感谢.

Mos*_*oye 9

一个列表理解应该做的:

lst =  [[k, v, dct2[k]] for k, v in dct1.items()]
print lst
# [['NL', 7, 2], ['PG', 8, 6], ['MC', 9, 10]]
Run Code Online (Sandbox Code Playgroud)

请注意,子列表的排序可能会有所不同,因为不会对字典进行排序.