猿问

在指定范围内打印列表Python

我是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是否为此提供了任何内置方法?


三国纷争
浏览 222回答 3
3回答

梵蒂冈之花

这应该做的工作...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('[]'))

蓝山帝景

这将起作用。(假设列表已排序)print n[n.index(11): n.index(37)+1]输出:[11, 13, 17, 19, 23, 29, 31, 37]

猛跑小猪

使用numpy:import numpy as npnarr = np.array(n)m = (narr >= 11) & (narr <= 37)for v in narr[m]:&nbsp; &nbsp; print(v)# or, to get rid of the loop:print('\n'.join(map(str, narr[m])))
随时随地看视频慕课网APP

相关分类

Python
我要回答