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