python小知识,列表推导式
使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。
1、生成指定范围的数值列表,语法格式如下:
list=[Expression for var in range if condition]
list:表示生成列表的名称
Expression :表达式,用于计算列表的元素
var:循环变量
range:采用range()函数生成的range对象
condition:条件表达式,用于指定筛选条件
示例:
""" author:锦衣大镖客 create:2020年12月19日 功能:列表推导式试验 """ lis=[i for i in range(10)] print("lis:",lis) #将lis列表中的数字全部翻10倍 lis_fb=[i*10 for i in lis] print("lis_fb:",lis_fb) #配合随机数 random模块使用 import random #取10位随机数生成一个列表 lis_random=[random.randint(1,1000) for i in range(10)] print("lis_random:",lis_random) #条件筛选组合成新列表 lis_if=[x for x in lis_random if x>200] print("lis_if:",lis_if) #列表推导式建立二维列表 list_tow=[[i for i in range(3)] for j in range(5)] print("lis_tow:",list_tow)
执行结果:
推导式生成元组对象:
#使用推导式建立元组 tuple_random=(x for x in range(10)) print("tuple_random:",tuple_random) #可以在转换后使用for进行遍历,也可以使用__next__方法进行遍历 print(tuple_random.__next__()) #取出数值 print("tuple_random的类型为:",type(tuple_random)) #需要使用tuple进行类型转换 # print(tuple(tuple_random)) for i in tuple_random: print("shuchu",i) print(tuple(tuple_random)) #依照上述示例可以看出,无论通过哪种方法输出,如果再想使用该生成器对象,的补习重新创建一个生成器对象,因为遍历后原生成器对象已经不存在了
执行结果: