我有一本字典,里面有一个列表,如下面的两个例子。
some_json = {'speaking_tone': [{'speaking_id': 0, 'spoken_text': 'register my device', 'tones': []}]}
some_json = {'speaking_tone': [{'speaking_id': 0, 'spoken_text': 'So kind of you to help with the issue', 'tones': [{'tone_name': 'Polite'}]}]}
我想检查“tones”中是否存在值,然后进行后续处理。如果没有,请继续下一步。我尝试了以下方法,它们总是导致索引超出范围错误。
if len(some_json["speaking_tone"][0]["tones"][0]["tone_name"]) > 0:
最佳答案
如果 some_json["speaking_tone"][0]["tones"]
是一个空列表会怎样?你会得到一个错误,因为你试图从一个空列表中访问某些东西 (["tone_name"]
)。为避免这种情况,首先检查 some_json["speaking_tone"][0]["tones"]
是否不为空。
some_json = {'speaking_tone': [{'speaking_id': 0, 'spoken_text': 'register my device', 'tones': []}]}
if len(some_json["speaking_tone"][0]["tones"]) == 0:
print("Empty")
else:
print("Something")
# Another way
if not some_json["speaking_tone"][0]["tones"]:
print("Empty")
else:
print("Something here")
关于Python - 检查字典中是否存在列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46991306/