首页 > 解决方案 > Python 如果列表中的项目在字符串中,那么项目是什么?

问题描述

所以假设我有一个字符串:

some_string = raw_input('string')

我有一个清单:

some_list = ['sacramento', 'los angeles', 'san diego', 'riverside']

有没有办法检查 1)如果一个项目来自some_listis insome_string和 2)如果是这样,这个项目是什么?

我知道我们可以做如下的事情:

divided = (some_string.split(' '))
for word in divided:
    if any(x in some_string for x in some_list:
        print word

但这仅适用于列表中只有一个单词的项目,如果我写los angelessan diegofor some_string,我将无法使用上面的代码找出字符串中的项目。

所以,如果你感到困惑,我要问的是:如果我有一个字符串和一个列表,并且列表中的一个项目在字符串中,那么项目是什么?我想知道一种适用于任何类型的列表项的简单方法。

标签: pythonstringlistpython-2.7

解决方案


你做的工作太多:不要拆分输入字符串。

for target in some_list:
    if target in some_string:
        print(target)
        break  # IFF you want to find only one match

推荐阅读