首頁  >  文章  >  後端開發  >  python列表產生器

python列表產生器

高洛峰
高洛峰原創
2016-11-21 17:20:381433瀏覽

在實際情況中,我們常常需要產生一些清單。除了比較低效的用for迴圈來一個一個往列表中append外,還有什麼比較好的方法呢?
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