ホームページ > バックエンド開発 > Python チュートリアル > Python 3 では `filter`、`map`、および `reduce` はどのように変更されましたか?

Python 3 では `filter`、`map`、および `reduce` はどのように変更されましたか?

Susan Sarandon
リリース: 2024-11-27 15:38:10
オリジナル
341 人が閲覧しました

How Have `filter`, `map`, and `reduce` Changed in Python 3?

Python 3: Filter、Map、Reduce の実装のバリエーション

Python 2 では、filter、map、reduce の動作が異なりますPython 3 の対応物から。これは、Python 3 で実装されたいくつかの重要な変更によるものです:

リストに対するビューとイテレータ:

  • map() と filter() は、代わりにイテレータを返すようになりました。リスト。リストを取得するには、list() を使用して明示的に変換します。

reduce() の削除:

  • reduce() が削除されました。 functools.reduce() 関数を優先してコア Python を使用します。ただし、通常は、明示的な for ループの方が読みやすく、推奨されます。

使用例:

Python 2 のコード スニペットは、次のように Python 3 用に更新できます。 :

def f(x):
    return x % 2 != 0 and x % 3 != 0

# **Filter:** Use list() to obtain a list of filtered values
filtered_list = list(filter(f, range(2, 25)))

# **Map:** Similarly, use list() to convert the iterator to a list
cubed_list = list(map(lambda x: x ** 3, range(1, 11)))

# **Reduce:** Use functools.reduce() or an explicit for loop
from functools import reduce
add_result = reduce(lambda x, y: x + y, range(1, 11))

print(filtered_list)  # Output: [5, 7, 11, 13, 17, 19, 23]
print(cubed_list)   # Output: [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
print(add_result)   # Output: 55
ログイン後にコピー

追加リソース:

  • [Python 3.0 の変更点](https://docs.python.org/3/whatsnew/3.0.html)
  • [map() とビュー](https://wiki.python.org/moin/Python でリストを返すための map() の取得3.x)

以上がPython 3 では `filter`、`map`、および `reduce` はどのように変更されましたか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート