在列表长度中迭代时列出索引超出范围错误

tun*_*nak 0 python iteration list

我有以下代码,其中sortings_list包含2个项目

sortings_list = ['code', 'name']


for i in xrange(0, len(sortings_list)):
        if sortings_list[i] == '-%s' % field:
            sortings_list.pop(i)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

Mar*_*ers 5

您在迭代时从列表中删除项目,如果删除第一个项目,则第二个项目的索引更改.改为使用列表理解:

sortings_list = [elem for elem in sortings_list if not elem == '-%s' % field]
Run Code Online (Sandbox Code Playgroud)