为了账号安全,请及时绑定邮箱和手机立即绑定

两个问题,请大家帮忙解答一下

L = range(1, 101)
print L[:10]
print L[2::3]
print L[4:50:5]

问题一:这个答案:如果这个序列没有规律可循,是不是会达不到结果;

L = range(1, 101)

print L[0:10]

aa=[]

bb=[]

for i in L:

    if i%3==0:

        aa.append(i)

print aa

for j in L:

    if j<=50:

        if j%5==0:

            bb.append(j)

print bb

问题二:请帮忙将代码修改的简洁一些。


正在回答

3 回答

问题1:无论里面的值有没有规律可循,只要是序列(按固定顺序排列)就可以切片

问题2:可用列表推导的方法

print ([a for a in L if a%3==0])

print([b for b in L[:51] if b%5==0])


0 回复 有任何疑惑可以回复我~

L = range(1, 101)

aa=[]

bb=[]

for i in L:

    if i%3==0:

        aa.append(i)

    if i<=50 and i%5==0:

        bb.append(i)

print aa

print bb


0 回复 有任何疑惑可以回复我~

1、你的没有规律可循是指序列不是等差数列之类的数吗?没有规律也是有排序吧。

2、print ([a for a in L if a%3==0])

print([b for b in L[:49] if b%5==0])

新手,轻喷。。

0 回复 有任何疑惑可以回复我~
#1

qq_imnotTYJ_0

第二句应该是print([b for b in L[:51] if b%5==0]),右边的值是不算的,所以这才是<=50
2018-06-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

两个问题,请大家帮忙解答一下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信