在python中更改列表的起始索引?

时间:2015-08-02 19:16:03

标签: python list

我制作了一个程序来查找素数并存储在列表中。 现在我想打印素数的确切位置 例如。在2到20的范围内 如果我输入输入6,它应该打印13而不是17。

q=[]
for num in range(1,101):
    if num>1:
        if all(num%i!=0 for i in range(2,int(num**0.5+1))):
            q.append(num)

2 个答案:

答案 0 :(得分:2)

只需从索引中扣除1

print(q[6-1]) # -> 13

列表是从零开始的,所以如果你打算使用基于一个索引,你需要简单地减去1,你也应该处理用户输入0的情况。

你也可以从3开始你的范围并使用2步来获得素数:

q = [2]
for num in range(3, 101, 2):
    if num > 1:
        if all(num % i != 0 for i in range(3, int(num ** 0.5 + 1), 2)):
            q.append(num)

答案 1 :(得分:2)

q=[]
for num in range(1,101):
    if num>1:
        if all(num%i!=0 for i in range(2,int(num**0.5+1))):
             q.append(num)
index  = 6
print q[index-1]