【发布时间】:2019-10-25 15:53:21
【问题描述】:
我将一个 JSON 文件解析为字典,下面是 JSON 数据示例
"environmental": {
"temprature": {
"test" : "temprature",
"unit": "c",
"now": 12.65,
"now_timestamp": "10-06-2019 08:02:18",
"min": "12.5",
"min_timestamp": "03-06-2019 07:40:02",
"max": "32.84",
"max_timestamp": "03-06-2019 04:30:03"
},
我想知道是否有一种方法可以使用字符串或元组获取这些值之一
预期结果,
logging.info(dictionary_page_data_file['environmental']['temprature']['now'])
我试过了
thistuple = ("environmental", "temprature", "now")
logging.info(dictionary_page_data_file[thistuple])
这必须足够动态以适应不同级别的字典
【问题讨论】:
-
不,字典不支持这一点,因为
tuple是一个有效的键,并且它会模棱两可,尽管您可以编写一个函数来将元组或字符串转换为一系列索引操作 -
您可以创建一个新对象并实现
__getitem__和__setitem__方法来使用自定义键。这里有一个例子:stackoverflow.com/questions/6486387/…
标签: python dictionary tuples