列表:推导列表

单层循环

>> [x*x for x in xrange(1,10)]
[1, 4, 9, 16, 25, 36, 49, 64, 81]

单层循环,带if语句

>> [x*x for x in xrange(1,10) if x%2 == 0]
[4, 16, 36, 64]

双层循环

>> [m+n for m in "ABC" for n in "XYZ"]
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

>> [x+y for x in [1,2,3] for y in [9,8,7]]
[10, 9, 8, 11, 10, 9, 12, 11, 10]

双层循环带if语句

>> [m+n for m in "ABC" for n in "XYZ" if m == "A" and n == "X"]
['AX']

>> [x+y for x in [1,2,3] for y in [9,8,7] if x==1 and y==9]
[10]
>>

for 循环可以同时使用两个或多个变量
比如遍历字典

>> d = {1:"a",2:"b",3:"c"}
>> [str(k) + "=" + v for k,v in d.items()]
['1=a', '2=b', '3=c']

猜你喜欢

转载自blog.51cto.com/13496943/2128092