将字典转换为列表

时间:2019-01-17 00:19:53

标签: python dictionary

我正在努力理解以下两个键的字典是如何工作的。我熟悉传统的key:value字典,但不熟悉下面的字典。我需要将字典隐藏为常规字典,以使其看起来像d1 = {1:0.26, 2:0.84, 3:0.71, 4:0.03}

感谢大家的帮助

d1 = {'inds': [1, 2, 3, 4,], 'vals': [0.28, 0.84, 0.71, 0.03]}

4 个答案:

答案 0 :(得分:1)

使用dictionary comprehension

d2 = {k:v for k,v in zip(d1["inds"],d1["vals"])} 

答案 1 :(得分:0)

尝试使用for循环:

d1 = {'inds': [1, 2, 3, 4,], 'vals': [0.28, 0.84, 0.71, 0.03]}
keys = d1['inds']
vals = d1['vals']
d2 = {}
for idx, key in enumerate(keys):
    d2[key] = val[idx]

答案 2 :(得分:0)

如果您使用的是python 3,而不是旧版python,则可以执行以下操作:

{i+1: v for i, v in enumerate(d1['vals'])}

答案 3 :(得分:0)

词典理解会增加一层不必要的复杂性。您可以这样做:

d1 = {'inds': [1, 2, 3, 4,], 'vals': [0.28, 0.84, 0.71, 0.03]}
result = dict(zip(d1["inds"],d1["vals"]))
print(result)

{1: 0.28, 2: 0.84, 3: 0.71, 4: 0.03}

如果您使用的是Python 3.7,也可以这样做:

result = dict(zip(*d1.values()))