我正在进行谷歌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来完成你明显的目标。你知道吗
是的,你可能不应该单词.pop(). 你想要的单词很可能在s中-将其添加到列表中。你知道吗
另外,请注意,将列表命名为“list”或多或少会从本地范围中删除“list”内置类型。这不是一个成败攸关的交易,但这是派林会警告的。你知道吗
相关问题 更多 >
编程相关推荐