[解決済み] 文字列中の母音の有無を確認する
2022-02-17 08:25:16
質問
ある単語の中に母音があるかどうかを調べたい。もしあれば、その単語に対して次のような操作を行う必要がある。
op(word)
. せっかく考えたのだから、forループは避けたい。
for char in word:
if char in 'aeiou':
#confused here...
実行時間に関して、コストの低い方法を推奨してください。また、上記の方法の修正も手伝ってください。
どのように解決するのですか?
vowels = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}
if any(char in vowels for char in word):
...
注 これは、単語の中に母音を見つけるとすぐに、短絡するため、より優れています。つまり、文字列の中に母音がない限り、すべての文字をチェックする必要がないのです。
編集する
を走らせる。
timeit
テスト
ということを発見しました。
ファルセットゥの回答
は非常に高速ですが、最適化がほとんどされていないため
re
の方が優れています。
import re
vowels = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}
pattern = re.compile("[AEIOUaeiou]")
def intersection():
return bool(vowels.intersection("TWYNDYLLYNGS"))
def any_version():
return any(char in vowels for char in "TWYNDYLLYNGS")
def re_version():
return bool(pattern.search("TWYNDYLLYNGS"))
def disjoint():
return vowels.isdisjoint("TWYNDYLLYNGS")
from timeit import timeit
print timeit("intersection()", "from __main__ import intersection, vowels")
print timeit("any_version()", "from __main__ import any_version, vowels")
print timeit("re_version()", "from __main__ import re_version, vowels")
print timeit("disjoint()", "from __main__ import disjoint, vowels")
関連
-
ピロウズ画像色処理の具体的な活用方法
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] JavaScriptで変数が文字列かどうかをチェックする
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
PythonはWordの読み書きの変更操作を実装している
-
python implement mysql add delete check change サンプルコード
-
任意波形を生成してtxtで保存するためのPython実装
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み] データ型が理解できない
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)