在python中搜索字符串列表

在python中搜索字符串列表,python,Python,我想从我的列表中搜索国家以下是我的列表: country=['American Samoa', 'Andorra','Angola','Anguilla' ,'Antarctica',' Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Australia', 'Austria','Azerbaijan’,'Bahamas','Bangladesh','Barbados','BELARUS'] 我用过这个函数,但我认为它错了 def find(

我想从我的列表中搜索国家以下是我的列表:

 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
你能帮我改一下密码吗
任何帮助都将不胜感激

嗯,这里有一个可能更清楚一点的建议:

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)

然后你可以说“如果国家发现了(‘亚美尼亚’):”或其他任何东西。

Hm,这里有一个可能更清楚的提示:

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)

然后你就可以说“如果你找到了国家(‘亚美尼亚’):”或其他任何东西。

我想你可以用

countries = ['American Samoa', ...]
if country in countries:
    ...

我想你可以用

countries = ['American Samoa', ...]
if country in countries:
    ...
你需要的是

filter(f,seq)
就这些

如果你不知道什么是f,很遗憾,但我们猜不到

另请参见
iflter()

当你需要做一些非常普通的事情时,在文档中搜索这个想法:“一定有一些功能可以实现我想要的,它在哪里?”

而不是“怎么做?”。

你需要的是

filter(f,seq)
就这些

如果你不知道什么是f,很遗憾,但我们猜不到

另请参见
iflter()

当你需要做一些非常普通的事情时,在文档中搜索这个想法:“一定有一些功能可以实现我想要的,它在哪里?”


而不是“怎么做?”。

另一个答案。逻辑是基本的。若项目在列表中,它也有一个索引。使用此索引访问元素(
list[index]
)将确实返回此项:)


还有一个答案。逻辑是基本的。若项目在列表中,它也有一个索引。使用此索引访问元素(
list[index]
)将确实返回此项:)


你为什么认为这是错误的?如果不使用它,为什么要将
seq
传递给它?您可能只需要将
国家
交换为
序列
。另外,知道
f
在做什么也很好。因为我没有得到结果,我是python初学者,所以对这种语言感到困惑。我认为f是一个计数器,它将返回序列中的第一项变量的名称在python中没有任何特殊意义,或者用我能想到的任何其他编程语言。变量的目的就是你给它的目的。”f'是你传递给函数的,为什么你认为它是错的?如果不使用它,为什么要将
seq
传递给它?您可能只需要将
国家
交换为
序列
。另外,知道
f
在做什么也很好。因为我没有得到结果,我是python初学者,所以对这种语言感到困惑。我认为f是一个计数器,它将返回序列中的第一项变量的名称在python中没有任何特殊意义,或者用我能想到的任何其他编程语言。变量的目的就是你给它的目的。”f'是您传递给该位置的函数的任何值。只需“return country_to_find in countries”,不需要结尾的if/else。它不给我字符串,而是给我布尔值。我只想从list@mary如果您有一个国家/地区,如果找到该国家/地区,此函数将返回True;如果没有,则返回False。或者,如果出于某种原因需要返回实际字符串,您可以返回country\u to\u find if country\u to\u find in countries。向上投票仅因为看到
“if country\u find('亚美尼亚”):“
-我是亚美尼亚人:)只要“return country\u to\u find in countries”,结尾不需要if/else。它不给我字符串,它给我布尔值。我只想从list@mary如果您有一个国家/地区,如果找到该国家/地区,此函数将返回True;如果没有,则返回False。或者,如果出于某种原因需要返回实际字符串,您可以返回country\u to\u find if country\u to\u find in countries,因为看到
“if country\u find('亚美尼亚'):”
-我是亚美尼亚人:)@mary And then!!!?我应该对这个结果感到惊讶吗?我凭什么感到惊讶?我不知道你想要什么,f是什么。你明白吗,我们无法猜测f是什么,而结果将取决于f?你应该回答Felix Kling两小时前问你的问题“你应该解释你到底想做什么…”而不是把感叹号增加三倍,然后!!!?我应该对这个结果感到惊讶吗?我凭什么感到惊讶?我不知道你想要什么,f是什么。你明白吗,我们无法猜测f是什么,而结果将取决于f?你应该回答Felix Kling两小时前问你的问题“你应该解释你到底想做什么…”,而不是把感叹号增加三倍