Skip to main content
 首页 » 编程设计

python之Python 中的列表迭代问题

2025年05月04日14zdz8207

我正在处理 Google 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']) 

我的循环只从 0 迭代到 3,所以 print i,s 给我值直到 'xzz'。请指出我错的地方。

请您参考如下方法:

不要在迭代时修改某些内容。 words.pop(i) 修改 words,您通过 enumerate() 对其进行迭代。

我建议查看 list comprehensions为了实现您明显的目标。