python之生成列表(Range和列表表达式)
Posted 散发扁舟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之生成列表(Range和列表表达式)相关的知识,希望对你有一定的参考价值。
1. 在python里为了方便生成list整数列表,认识了一个新的函数range()。
range有三个参数range(start, stop,step):
参数解释:
start:list列表开始的值,默认从0开始。
stop:list列表计数到stop结束,但是不包括stop。
step:步长,默认为1。也就是列表后一个值和前一个值的间隔值。
比如:range(1, 10, 2)生成的列表为[1, 3, 5, 7, 9]。
range(10)生成的列表为[0,1,2,3,4,5,6,7,8,9]。
range(0,-5,-1)生成列表为[0, -1, -2, -3, -4]
range(0) 生成空列表[ ]
range()应用举例
for应用:轻松创建需要的列表,节省代码数量
[ x * x for x in range(1, 11) ]
生成[1, 4,5, 16, 25, 36, 49, 64, 81, 100]
2. 除了range()可以快速生成列表之外,还可以应用列表表达式,
格式为:[列表表达式]
比如:
已有列表L = [1, 2, -1, -3, 8, 4, -6, 7],筛选列表中大于0的元素 。
1.按照正常思维需要for循环,挨个判断元素是否大于0,然后添加到新的列表中:
d = []
for x in L:
if x > 0:
d.append(x)
print d
结果为[1, 2, 8, 4, 7]
2. 应用列表表达式:
d = [x for x in L if x > 0]
print d
结果为[1, 2, 8, 4, 7]
列表表达式,代码更为简洁,应用更为方便,理解起来也不难,勤加练习,数量掌握之后,会大大提高自己的代码效率。
以上是关于python之生成列表(Range和列表表达式)的主要内容,如果未能解决你的问题,请参考以下文章