我有一个python脚本,其中有一个返回字典的函数。函数返回的字典长度是动态的。例如,返回的两个字典示例
样本1
'ID': 'd1f1', 'counter': 1,'device_id': 35, 'equipment_id': 1, 20: 85.0, 14: 90.0, 43: 1, 34: 1
样本2
'ID': 'd1f1', 'counter': 1,'device_id': 35, 'equipment_id': 1, 20: 85.0, 14: 90.0, 43: 1
在我的python脚本中,我解析这个字典并将这些值保存在db中。
代码
ID = dict['device_id']
equipment = dict['equipment_id']
volts = dict[20]
power = dict[14]
health = dict[43]
status = dict[34]
在第二个字典中,键34没有值。因此,我希望将状态值保存为null。但是,如果我以当前的方式分配值,则会抛出一个关键错误。有人能帮我解决这个问题吗。
谢谢
发布于 2019-11-18 21:53:56
似乎你想要返回零,如果一个迪克不包含一个特定的键。在这种情况下,您可以使用get()
函数。如果键不存在,则返回值或无。例如:
my_dict = {'a': 1}
a = my_dict.get('a')
b = my_dict.get('b')
在这种情况下,a
的值为1,b
的值为None。
更多的'pythonic‘解决方案是使用try -除了块,在那里您尝试获取值,并在异常引发时不返回任何值。
my_dict = {'a': 1}
try:
b = my_dict['b']
except KeyError:
b = None
https://stackoverflow.com/questions/58927420
复制相似问题