我有一个字典列表来描述这种格式。我只想打印"US"使用try/except结构。因为我可能有更多没有"国籍"的列表;标签。我只想到if/else结构。请帮帮我。谢谢!
list_components = js['results'][0]['list_components']
try:
for item in list_components:
item["types"] == ["nationality", "political"]
print('The nationality information for the list:', item["short_name"])
except:
print('No nationality is available for this list.')
这是一种非常幼稚的方法。但这并不是一种好的做法。这就像把一些东西变成另一些东西,而忽略了程序员采用的所有好的规则。
list_components = js['results'][0]['list_components']
for item in list_components:
try:
#Generate error when there is no nationality otherwise print nationality
status = item["types"][0] == "nationality"
status and print("Nationality: ", item["short_name"])
raise ValueError
except:
#Print prompt
not status and print("No Nationality")
这个解决方案不需要任何try/catch结构,可以纯粹用if-else来解决。如果有人需要它,这里有一个更好的和简单的解决方案。
for item in list_components:
print("Nationality: " item["short_name"]) if item["types"][0] == "nationality" else print("No Nationality")
太大了,不能作为评论发布,所以我把它作为一个答案发布,
这个代码可以吗?我的意思是,try, except
在这里什么也没做……但如果这不是你想要的,请告诉我
list_components = js['results'][0]['list_components']
try:
for item in list_components:
item["short_name"] == 'US' and item["types"] == ["nationality", "political"] and print('The nationality information for the list:', item["short_name"])
except:
print('No nationality is available for this list.')