列表推导式
使用python的列表推导式可以快速生成一个新列表,或者可以根据当前的某个列
表去生成满足某种要求的列表。
有以下三种列表推导式:
1,生成指定范围的数值列表:
list = [Expression for var in range]
list:生成列表的名称
Expression:表达式,用于生成新列表的规则
var:for 循环的循环变量
range:采用range 函数生成去生成列表各对象
例如:
import random
randomdata = [random.randint(1, 10) for i in range(100)]
2,根据已知的某个列表生成满足某种需求的列表:
newlist = [Expression for var in list]
例如:
value = [100, 90, 98, 89, 99]
newvalue = [int(var * 2) for var in value]
3,从已知列表中选出符合要求要求的元素组成一个新列表:
newlist = [Expression for var in list if condition]
例如:
value = [100, 90, 98, 89, 99]
newvalue = [int(var * 2) for var in value if value > 60]
元组推导式
元组和列表的推导式很类似,不同的地方在于元组是()。
import random
randomdata = [random.randint(1, 10) for i in range(100)]
此时生成的元组只能通过__next__
方法去一次访问各个元素。
若想生成可以直接访问的元组列表,则需要使用tuple去做一下转换。
import random
randomdata = [random.randint(1, 10) for i in range(100)]
randomdata = tuple(randomdata)
字典的推导式
和列表以及元组一样,使用字典推导式可以快速生成一个字典
例如:
import random
randomdata = {i:random.randint(1, 10) for i in range(100)}