我在 python 编码方面相当陌生……试图了解 .pop() 函数以及如何从列表中弹出项目并附加到新列表。有人可以帮我处理这段代码,看看为什么它告诉我我正在从一个空列表中弹出吗?
more_stuff = ["Day", "Night", "Song", "Frisbee", "Corn", "Banana", "Girl", "Boy"]
new_list = []
while len(new_list) <= 8:
stuff = more_stuff.pop()
print "Adding: ", stuff
new_list.append(stuff)
print new_list
运行代码时我得到了这个结果:
Traceback (most recent call last):
File "testpop.py", line 5, in <module>
stuff = more_stuff.pop()
IndexError: pop from empty list
原文由 Fahad Bubshait 发布,翻译遵循 CC BY-SA 4.0 许可协议
列表中的索引从零开始。
所以,在
more_stuff[7]
你会得到最后一个 “男孩” 。您的代码试图在 “男孩” 之后弹出另一个不存在的元素。
您需要修复的是:
编辑:
您也可以使用列表理解来做到这一点: