文字列の配列がある場合、for
ループを実行せずに、文字列が配列内にあるかどうかを確認できますか?具体的には、私はif
ステートメント内でそれを実行する方法を探しています。
if [check that item is in array]:
あなたが "配列"を言うところで "リスト"を意味すると仮定すると、あなたは行うことができます
if item in my_list:
# whatever
これはリストだけではなく、どのコレクションにも使えます。辞書の場合、与えられたキーが辞書に存在するかどうかをチェックします。
また、「配列」と言うときは、「リスト」を意味すると想定します。 Sven Marnachの解決策はいいです。あなたがリスト上で繰り返しチェックをするつもりなら、それはそれをセットまたは凍結セットに変換する価値があるかもしれません。あなたのstrsのリストがsubjects
と呼ばれると仮定します。
subject_set = frozenset(subjects)
if query in subject_set:
# whatever
ラムダ関数を使用してください。
配列があるとしましょう。
nums = [0,1,5]
5がnums
に含まれているかどうかを確認します。
(len(filter (lambda x : x == 5, nums)) > 0)
このソリューションはより堅牢です。特定の条件を満たす数が配列nums
に含まれているかどうかを確認できます。
たとえば、5以上の数値がnums
に存在するかどうかを確認します。
(len(filter (lambda x : x >= 5, nums)) > 0)
配列には.valuesを使わなければなりません。例えば、カラム名がtest ['Name']のデータフレームがあるとします。
if name in test['Name'].values :
print(name)
通常のリストでは、.valuesを使う必要はありません。