我想搜索这个" name"并返回我已经拥有代码的名称。但是,我需要返回" 1"或" 4"随之而来,我最终得到了:
1 - 角灯
然后,我可以使用我的程序的其余部分将HTTP PUT发送到正确的设备。我无法找到关于如何做到这一点的任何事情,感谢任何帮助。
names = [js[index]["name"] for index in js]
print (names)
{
"1": {
"state": {
"on": true,
"bri": 114,
"alert": "none",
"reachable": true
},
"type": "Dimmable light",
"name": "corner light",
},
"4": {
"state": {
"on": true,
"bri": 180,
"alert": "none",
"reachable": true
},
"type": "Dimmable light",
"name": "Back light",
},
"5": {
"state": {
"on": true,
"bri": 228,
"alert": "none",
"reachable": true
},
"type": "Dimmable light",
"name": "Best Bulb",
},
"7": {
"state": {
"on": false,
"bri": 254,
"alert": "none",
"reachable": false
},
"type": "Dimmable light",
"name": "our bulb",
},
答案 0 :(得分:0)
只需在语句中连接索引和分隔符:
names = [index + " - " + js[index]["name"] for index in js]
这给出了输出
['1 - corner light', '5 - Best Bulb', '4 - Back light', '7 - our bulb']
顺便说一句,你需要将布尔值(True& False)大写以保持Python的快乐。