列出Python中的迭代问题

Var*_*run 1 python

我正在处理谷歌Python类练习,我正在解决这个问题 -

def front_x(words):
  # +++your code here+++
  list = []
  for i,s in enumerate(words):
    print i,s
    if s[0] == 'x':
        list.append(words.pop(i))
  return list

print front_x(['bbb','ccc','axx','xzz','xaa'])
Run Code Online (Sandbox Code Playgroud)

我的循环只是从0迭代到3,所以打印i,s给我的值直到'xzz'.请指出我错了.

Amb*_*ber 8

在迭代它时不要修改某些东西.words.pop(i)修改words,你正在迭代通过enumerate().

我建议查看列表理解以实现您明显的目标.