0

ユーザーが入力した文字列にリスト内の文字列のいずれかが含まれているかどうかを確認したい。

文字列に1つの文字列が含まれているかどうかを確認する方法は知っていますが、文字列にこの文字列、その文字列、または別の文字列が含まれているかどうかを確認する方法を知りたいです。

たとえば、ユーザーの入力に母音が含まれているかどうかを確認している場合、母音について話している場合、5 つの異なる選択肢 (a、e、i、o、または u) が存在する可能性があります。ユーザーが入力した文字列にそれらのいずれかが含まれているかどうかを確認するにはどうすればよいですか?

4

5 に答える 5

3

任意の使用:

>>> vowels = 'a', 'e', 'i', 'o', 'u'

>>> s = 'cat'
>>> any(ch in vowels for ch in s)
True
>>> s = 'pyth-n'
>>> any(ch in vowels for ch in s)
False
于 2013-08-14T05:22:09.783 に答える
2
>>> vowels = set(['a', 'e', 'i', 'o', 'u'])
>>> inp = "foobar"
>>> bool(vowels.intersection(inp))
True
>>> bool(vowels.intersection('qwty'))
False
于 2013-08-14T05:25:06.303 に答える
0

文字列を順番にチェックすることは機能しますが、効率が悪い場合は、Aho-Corasick アルゴリズムを使用できます。

于 2013-08-14T05:27:52.387 に答える
-1

この構文を使用できます

if myItem in list:
# do something

関数も見てください:

http://docs.python.org/2/library/functions.html

于 2013-08-14T05:22:28.383 に答える