ホームページ > バックエンド開発 > Python チュートリアル > Python 3 の `map()` イテレータからリストを取得するにはどうすればよいですか?

Python 3 の `map()` イテレータからリストを取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-09 22:17:10
オリジナル
639 人が閲覧しました

How Do I Get a List from Python 3's `map()` Iterator?

Python 3.x でのマップされたリストの取得: イテレーターとしての map()

Python 3.x では、map() 関数リストの代わりにイテレータを返します。この変更は、メモリ効率を向上させ、パフォーマンスを最適化するために実装されました。ただし、さらに処理するためにマップされた値をリストとして取得する必要がある場合は、課題が生じます。

解決策: イテレータをリストに変換する

マップされた値をリストとして使用する場合は、 list() 関数を使用して、によって返されるイテレータを変換します。 map():

mapped_list = list(map(chr, [66, 53, 0, 94]))
ログイン後にコピー

このコードは、マップされた文字を含むリストを返します: ['B', '5', 'x00', '^'].

代替: リスト内包表記を使用する

リストを次のリストに変換するより簡潔な方法マップされた値はリスト内包表記を使用します。

mapped_list = [chr(c) for c in [66, 53, 0, 94]]
ログイン後にコピー

この式は、上記の map() の例と同じ結果を生成します。

Map オブジェクトを直接反復処理します

特定のシナリオでは、マップ オブジェクトをリストに変換する必要がない場合があります。 for ループを使用してマップ オブジェクトを直接反復処理できます。

for c in map(chr, [65, 66, 67, 68]):
    print(c)
ログイン後にコピー

このコードは、不要なリストを作成せずに文字「ABCD」を出力します。

以上がPython 3 の `map()` イテレータからリストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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