我有一个项目,需要我创建一个country:capital spreadsheet,就像excel中的美国特区一样。问题是,有些关键是大陆和领土,它们没有首都。如何只打印国家
for ctry in countries:
print(f'{ctry["name"]:30}{ctry["capitalCity"]}')
结果:
Middle East & North Africa (IDA & IBRD countries)
Tonga Nuku'alofa
South Asia (IDA & IBRD)
Sub-Saharan Africa (IDA & IBRD countries)
Trinidad and Tobago Port-of-Spain
编辑:在阅读评论之后,我意识到我没有包含足够的信息,所以我将尝试在这里填补这些空白。我从世界银行API(http://api.worldbank.org/v2/country?format=json&per_page=400)得到了国家词典,这个列表也包括了大陆和领土。我写了一份if声明
if ctry['capitalCity'] in ctry:
print(f'{ctry["name"]:20}{ctry["capitalCity"]}')
else:
print('not working')
我在这里的思考过程是,如果我使用'in',if语句将只能打印具有相应值的键,但这不起作用,所以我来到这里。很抱歉没有提供信息,但谢谢你的建议
从您的问题-><有些关键是大陆和领土,它们没有首都
这意味着你们的国家可能看起来像这样,其中大陆要么有空的资本(如亚洲),没有资本(如澳大利亚)或资本键不存在(如北美)
因此,基于上述假设,所有3个(空,无,无关键)的情况下,在下面列出的国家
您可以尝试下面的代码跳过大陆/地区
假设
countries
是包含国家、大陆和地区的词典列表,并且这些大陆和地区没有“capitalCity”元素(或者解析为False的元素,比如None):现在,在实际的国家里,一切都是有资本因素的
相关问题 更多 >
编程相关推荐