用Python列出迭代问题

2024-04-19 22:33:04 发布

您现在位置: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'])

我的循环只是从0到3的循环,所以print i,s给我的值直到'xzz'。请指出我错的地方。你知道吗


Tags: inforyourifheredefcodelist
2条回答

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

我建议你看看list comprehensions来完成你明显的目标。你知道吗

是的,你可能不应该单词.pop(). 你想要的单词很可能在s中-将其添加到列表中。你知道吗

另外,请注意,将列表命名为“list”或多或少会从本地范围中删除“list”内置类型。这不是一个成败攸关的交易,但这是派林会警告的。你知道吗

相关问题 更多 >