我希望扩展此处采用的方法,但对于六个或更多列表的情况:How to Create Nested Dictionary in Python with 3lists
a = ['A', 'B', 'C', 'D']
b = [1, 2, 3, 4]
c = [9, 8, 7, 6]
d = [0, 3, 5, 7]
e = [11, 13, 14, 15]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
{'A':{1 :9, 0:11} , 'B':{2:8, 3:13}, 'C':{3:7, 5:13} , 'D':{4:6, 7:15}}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我尝试过的:
out = dict([[a, dict([map(str, i)])] for a, i in zip(a, zip(zip(b, c), zip(d,e) ))])
Run Code Online (Sandbox Code Playgroud)
输出很接近,但并不完全是我想要的。任何提示将非常感谢!
小智 6
也许是这样的:
out = {k: {k1: v1, k2: v2} for k, k1, v1, k2, v2 in zip(a, b, c, d, e)}
Run Code Online (Sandbox Code Playgroud)
如果我们想使用过多的zips,我们也可以这样做:
out = {k: dict(v) for k,v in zip(a, zip(zip(b, c), zip(d, e)))}
Run Code Online (Sandbox Code Playgroud)
输出:
{'A':{1 :9, 0:11} , 'B':{2:8, 3:13}, 'C':{3:7, 5:13} , 'D':{4:6, 7:15}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |