>> [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‘]
原文:http://blog.51cto.com/13496943/2128092