一個正常的python循環如下:
for i in range(10):
print(i)
結果如下:
0
1
2
3
4
5
6
7
8
9
如果需要打印出序號,則要用到enumerate
a=['a',3,22,'g']
for index,num in enumerate(a):
print(index,num)
結果如下:
0 a
1 3
2 22
3 g
下面是一個美麗的for循環代碼:
a=[{'name': 'a'}, {'name': 'b'}, {'name': 'c'}]
b=[x.get('name') for x in a]
解釋一下:
b裏面,x是從a中迭代出來的每一個元素,然後x.get('name')對這個元素進行操作,得到的結果放到list裏面,最後循環結束,生成一個列表,則得到的b爲 ['a', 'b', 'c']
由此引申出一個乘法口訣表:
print('\n'.join([ ' '.join([ "%d*%d=%2s" %(y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)]))
用到了上面的特性,結果如下:
1*1= 1
1*2= 2 2*2= 4
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
非常漂亮,不是嗎?