ホームページ >バックエンド開発 >Python チュートリアル >リスト内包表記を使用せずに、Python で繰り返し要素を含むリストを効率的に作成するにはどうすればよいですか?

リスト内包表記を使用せずに、Python で繰り返し要素を含むリストを効率的に作成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-19 14:21:13982ブラウズ

How Can I Efficiently Create Lists with Repeated Elements in Python Without List Comprehensions?

繰り返し要素を含むリストの生成

Python では、同じ繰り返し要素を含む複数のリストをさまざまな方法で作成できます。この説明では、リストの内包表記をバイパスする方法について説明します。

解決策:

Python には、要素を複製するための演算子 * が用意されています。要素 e が n 回出現するリストを作成するには、式 [e] * n を使用します。

例:

e = 5
list_of_e = [e] * 10  # [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]

注:

e が空のリストの場合、このメソッドは同じ空のリストへの n 個の参照を持つリストを作成します。独立した空のリストを提供するには、別のアプローチが必要です。

パフォーマンス評価:

itertools.repeat() は最初は高速に見えますが、比較を実行するにはリストに変換する必要があります。 。演算子 * はリストを直接返すため、パフォーマンスが向上します:

import timeit
n = 1000000
timeit.timeit('[0] * 10', number=n)  # Faster
timeit.timeit('list(itertools.repeat(0, 10))', number=n)  # Slower

結論:

リスト内包表記を使用せずに繰り返される要素のリストを作成するには、* 演算子を利用します。 、簡潔で効率的なソリューションを提供します。要素の遅延生成が必要な場合は、 itertools.repeat().

を検討してください。

以上がリスト内包表記を使用せずに、Python で繰り返し要素を含むリストを効率的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。