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

在指定范围内打印列表Python

在指定范围内打印列表Python

三国纷争 2021-03-29 10:45:41
我是Python的新手,但我遇到了这个问题我有一个这样的数字列表:n = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]我想从11到37打印,这意味着输出= 11、13 ..... 37。我尝试过,print(n[11:37])但是它当然会打印[37、41、43、47],因为那是范围索引。有什么想法吗,Python是否为此提供了任何内置方法?
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

这应该做的工作...


n = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]

n.sort()


mylist = [x for x in n if x in range(11, 38)]

print(mylist)

想要将其打印为逗号分隔的字符串:


print(mylist.strip('[]'))


查看完整回答
反对 回复 2021-04-13
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

这将起作用。(假设列表已排序)

print n[n.index(11): n.index(37)+1]

输出:

[11, 13, 17, 19, 23, 29, 31, 37]


查看完整回答
反对 回复 2021-04-13
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

使用numpy:


import numpy as np

narr = np.array(n)

m = (narr >= 11) & (narr <= 37)

for v in narr[m]:

    print(v)

# or, to get rid of the loop:

print('\n'.join(map(str, narr[m])))


查看完整回答
反对 回复 2021-04-13
  • 3 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号