将列表列表转换为字典

rat*_*het 2 python python-3.x dictionary-comprehension

如何从Python列表列表创建字典,以便第一行是键,其余是该键下的列表?

x = [['A', 'B', 'C'],
 [100, 90, 80],
 [88, 99, 111],
 [45, 56, 67],
 [59, 61, 67],
 [73, 79, 83],
 [89, 97, 101]]
Run Code Online (Sandbox Code Playgroud)

目前我正在获得一个词典理解:

{i[0]: i[1:] for i in x}

{'A': ['B', 'C'],
 100: [90, 80],
 88: [99, 111],
 45: [56, 67],
 59: [61, 67],
 73: [79, 83],
 89: [97, 101]}
Run Code Online (Sandbox Code Playgroud)

期望的结果是:

{
"A": [100, 88, 45, 59, 73, 89],
"B": [90, 99, 56, 61, 79, 97],
"C": [80, 111, 67, 83, 101],
}
Run Code Online (Sandbox Code Playgroud)

如何以正确的方式切割词典理解?

iBu*_*Bug 7

你有zip一个选择:

wanted = {a[0]: list(a[1:]) for a in zip(*x)}
Run Code Online (Sandbox Code Playgroud)

或者,如果您熟悉拆包:

wanted = {k: v for k, *v in zip(*x)}
Run Code Online (Sandbox Code Playgroud)