如何在字典中将字符串作为键传递

时间:2019-04-04 00:33:20

标签: python

我想动态解析字典 在这里,我试图动态获取键的名称,并将该键存储在变量中,然后使用这些变量调用字典
到目前为止,我已经尝试过

   var=users.to_dict()
    z=var.keys()
    y=z[0]

x=var[str(y)]['Scheme name']

当我通过str(y)时给出错误

    y=x[0]
TypeError: 'dict_keys' object does not support indexing

有没有更好的方法可以做到这一点。请让我知道

2 个答案:

答案 0 :(得分:1)

您无法为“ dict_keys”建立索引,但如果将其解析为“列表”

var=users.to_dict()
z=list(var.keys())
y=z[0]

x = var [str(y)] ['方案名称']

它应该工作

答案 1 :(得分:0)

y=z[0]

是您的错误所在。

var.keys()不返回列表,它返回不支持索引的dict_keys。您可以将其转换为列表,然后进行索引:

y = list(x)[0]

但是,z = list(var)将具有相同的效果(键列表),并且更加直接。

dict_keys是这样的,因为它是view object。如果基础字典发生更改,则其内容也会更改,这是一个可迭代的过程。将其强制转换为列表(或将字典强制转换为列表)的结果是它不再连接到字典。