首页 > 解决方案 > 如何在Python中使用索引获取dict中的键名和值

问题描述

我有以下json:

{
    "Static Data": {
        "Maximum Target": "UI-A@supervision-report-production-data-data-1-4:statistics-1:maximum_target",
        "Sigma": "UI-A@supervision-report-production-data-data-1-4:statistics-1:sigma2",
        "Variation Coefficient": "UI-A@supervision-report-production-data-data-1-4:statistics-1:cv",
        "Web Width": "UI-A@supervision-report-production-data-data-1-4:statistics-1:fullwidth"
    },

    "Section": "Winder-A1-roll-1-4:section",
    "StartDateTime": "Winder-A1-3:startTimestamp",
    "StopDateTime": "Winder-A1-3:stopTimestamp"

}

下面是代码:

json_data = open(configs_path)
data = json.load(json_data)
json_data.close()

index = 2

print(data['Static Data'][index])

基于index,我想获取字典的键名和值。我怎样才能做到这一点。?

标签: pythondictionary

解决方案


您可以将字典转换为key/value对的列表

kvpairs = list(data.items())

thenkvpairs[0][0]将是第一个键和kvpairs[0][1]第一个值。

这通常不需要很频繁,因为按索引访问字典有点奇怪。

请注意,list如果您想按索引访问条目,则必须转换为,否则返回的对象items仅可用于迭代。

如果您需要更常见的东西并且正在迭代数组,那么使用一个简单的循环for ... in就可以了:

for key, value in data.items():
    ...

推荐阅读