标签:list 生成 没有 字符串类型 列表生成式 else color pre lis
列表生成式是python内置的可创建list的生产式。
r=list(range(1,11)) print(r)
运行结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
若要生成【1*1,2*2,3*3.....,10*10】,有两种方式:a,循环;b,列表生成式。
方法1:循环 list=[] for x in range(1,11): list.append(x*x) print(list) ------------ 执行结果: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 方法2: r=[x*x for x in range(1,11)] print(r) -------------- 执行结果: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
在一个列表生成式中,for前面的if...else是表达式,for后面的if是过滤条件,不能带else.
r=[x*x for x in range(1,11) if (x*x)%2==0] print(r) ---------------- 执行结果: [4, 16, 36, 64, 100]
若list中即包含字符串又包含整数,非字符串类型没有lower()方法,列表生成式会报错。其内建的isinstance函数可以判断一个变量是不是字符串。
L1=[‘Hello‘, ‘World‘, 18, ‘Apple‘, None] L2=[ s.lower() for s in L1 if isinstance(s,str)] print(L2) ------------------ 执行结果: [‘hello‘, ‘world‘, ‘apple‘]
标签:list 生成 没有 字符串类型 列表生成式 else color pre lis
原文地址:https://www.cnblogs.com/balllyh/p/12795060.html