python生成1到10的列表_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, 9, 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]

列表表达式,代码更为简洁,应用更为方便,理解起来也不难,勤加练习,数量掌握之后,会大大提高自己的代码效率。

拓展:列表表达式,可以实行多层嵌套。

比如:

[x*10 + y for x in '15482' for y in '23532' if x > y ]

生成十位数比个位数大的两位数。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值