Pythonリストジェネレーター

高洛峰
高洛峰オリジナル
2016-11-21 17:20:381468ブラウズ

実際の状況では、多くの場合、いくつかのリストを生成する必要があります。 for ループを使用してリストに 1 つずつ追加するという比較的非効率的な方法に加えて、より良い方法はあるでしょうか?
Python はリストを作成するための非常に強力な方法を提供します。

たとえば、1から100までのデータリストを作成する必要があります。


range(1,101)

12,22,32...1002のリストを作成したいのですが、どうすれば達成できますか?

[x*x for x in range(1,101)]
  |     |------------------ x取得1,2,3,4....100列表
  |------------------------- 对列表中的元素进行平方计算

そのリストが必要なものかどうかを最初にどのように判断すればよいでしょうか? if を使うことができます。

[x*x for x in range(1,1001) if x%2==0]
                                  |------先对x进行判断,是偶数的则留下

完全な置換リストを存続させるための複数のループ たとえば、9*9 の乗算表をすべて生成する必要がある場合は、二重ループを使用できます。

[str(x)+"*"+str(y)+"="+str(x*y) for x in range(0,10) for y in range(0,10)]

上記のコードでは、外側のループが x で、内側のループが y です。

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