python列表產生器

高洛峰
發布: 2016-11-21 17:20:38
原創
1434 人瀏覽過

在實際情況中,我們常常需要產生一些清單。除了比較低效的用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。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板