我想从我的列表中搜索国家/地区,这是我的列表:
country=['American Samoa',
'Andorra','Angola','Anguilla'
,'Antarctica',' Barbuda',
'Argentina', 'Armenia', 'Aruba',
'Australia',
'Austria','Azerbaijan’,'Bahamas','Bangladesh','Barbados','BELARUS']
我使用过这个功能,但我认为这是错误的
def find(f,seq):
for item in country:
if f(item):
return item
请你纠正我的代码 任何帮助将不胜感激
答案 0 :(得分:5)
def country_found(country_to_find):
countries=['American Samoa','Andorra','Angola','Anguilla','Antarctica',
'Barbuda','Argentina', 'Armenia', 'Aruba','Australia', 'Austria','Azerbaijan’,
'Bahamas','Bangladesh','Barbados','BELARUS']
return (country_to_find in countries)
然后你可以说“if country_found('Armenia'):”或者其他什么。
答案 1 :(得分:0)
我认为你可以使用
countries = ['American Samoa', ...]
if country in countries:
...
答案 2 :(得分:0)
您需要的是
filter(f,seq)
就是这样。
如果你不知道什么是 f ,很遗憾,但我们无法猜到它。
另见iflter()
当你需要做一些相当通用的东西时,在脑海中搜索这个想法:“必须有一些功能可以做我想要的,它在哪里?”
而不是“如何做到这一点?”。
答案 3 :(得分:0)
又一个答案。逻辑是基本的。如果item在列表中,它也有一个索引。使用此索引(list[index]
)访问元素将返回此项:)
def find_country(country):
try:
i = countries.index(country)
res = countries[res]
except:
res = "No such country"
return res
$ python find_country.py
Azerbaijan
Angola
No such country