Pythonで条件に合致するデータをフィルタリングする方法は?
Pythonでは、条件分岐とループを使って条件に合うデータを抽出できます。以下に一般的な方法を示します。
- if文を使うと、それぞれのデータが条件に合致しているかどうかを判断し、条件に合致したデータを、別のリストや変数に保存できます。
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_data = []
for num in data:
if num % 2 == 0: # 筛选偶数
filtered_data.append(num)
print(filtered_data)
[2, 4, 6, 8, 10] が出力されます
- リスト内包表記を使おう: リスト内包表記とは、条件文を使って条件に合うデータを抽出する、新しいリストを素早く生成する方法です。
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_data = [num for num in data if num % 2 == 0]
print(filtered_data)
出力は [2, 4, 6, 8, 10] です
- filter() 関数を使って、指定した条件に合致するデータを抜き出して、イテレーターとして返す。イテレーターは、リストやその他のデータ型に変換できる。
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_data = list(filter(lambda x: x % 2 == 0, data))
print(filtered_data)
出力結果は [2, 4, 6, 8, 10] です。
具体な必要性に応じて、適切な方法を選択して条件に合うデータをフィルタリングするための、よくある3種類の方法です。