列表解析是Python中的一种高级用法,它提供了我们创建列表的一种新思路.简单理解列表解析是方括号里一行for循环建立出来的列表.
例1
#从字符串里抓取所以字符串组成列表
list = [x for x in "string"]
list
输出结果:
['s', 't', 'r', 'i', 'n', 'g']
例2
#把range里的数求平方放到列表里
list1 = [x**2 for x in range(0,11)]
list1
输出结果:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
例3
结合if语句的列表解析
list2 = [x for x in range(11) if x % 2 == 0]
list2
输出结果:
[0, 2, 4, 6, 8, 10]
例4 更复杂的运算
# 摄氏度转为华氏度
celsius = [0,10,20.1,34.5]
fahrenheit = [((9/5)*temp + 32) for temp in celsius ]
fahrenheit
输出结果为:
[32.0, 50.0, 68.18, 94.1]
例5嵌套列表解析
list3= [x ** 2 for x in [x ** 2 for x in range(0,11)]]
list3
输出结果为:
[0, 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000]