Python中的列表生成式和多層表達式app
如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表?spa
1 L=[]; 2 for x in range(1,11): 3 L.append(x*x) 4 print L 5 print ("+++++++++並不漂亮分割線之論縮進的重要性++++++++++") 6 print L
其實有一種更簡單的寫法,好比,你看:code
print [x*x for x in range(1,11)]
略須要注意的就是須要把x*x放到for的前面,那如何想要獲得其是1到10內是偶數的平方列表呢。這個應該如何,怎麼,how to 搞?其實也很簡單,加個判斷就好,依舊一句代碼搞定,不信,你看:blog
print [x*x for x in range(1,11) if x%2==0]
上面說的是生成列表式,而後說一下多層表達式。產品
好比,請用一行代碼打印出Smartisan和索尼旗艦產品的名稱。class
print [m+n for m in'TZ'for n in'123']
最後寫一個,找出對稱的 3 位數。例如,101 就是對稱數,百位數和個數是同樣的。im
print [100*n1+10*n2+n3 for n1 in range(1,10) for n2 in range(10) for n3 in range(10) if n1==n3]
彷佛Python很簡潔的樣子。d3