解决索引超出范围的Python

Dav*_*vid 0 python list

我试图只在一个选择范围内将一个列表的内容添加到另一个列表.我想创建一个包含700多个元素的列表.我想从第34个元素开始获取元素,然后继续抓取每个第11个元素.但我有一个问题,解决索引超出范围问题我知道这个问题是由指向一个不存在的元素引起的.我也知道列表的大小会受到计数的影响.我对python有点缺乏经验,所以在这种情况下我不确定如何防止它.如果有人能帮助我解决这个指数超出范围的问题,这将是很好的.

这是我的代码:

main_list = []

for i in range(705):
    main_list.append(i)

sublist = []

def my_range(start, end, step):
    while start <= end:
        yield start
        start += step

for x in my_range(34, 705, 11):
    sublist.append(main_list[x])

print sublist
Run Code Online (Sandbox Code Playgroud)

YXD*_*YXD 6

Python索引基于零.最后一个元素是索引len(my_list)-1.您应该将行更改while start <= end:while start < end:

无论如何,你似乎已经重新实现了xrange.