【发布时间】:2020-03-02 08:26:11
【问题描述】:
def show_magicians(magicians_list):
"""Print the name of each magician in a list."""
for magician in magicians_list:
print(magician.title())
def make_great(magicians_list):
"""Make each magician great again."""
for magician in magicians_list:
magician = magician + " " + "the Great"
magicians_list.append(magician)
list_of_dudes = ['houdini','david blaine','jebus']
make_great(list_of_dudes)
show_magicians(list_of_dudes)
print(list_of_dudes)
为什么第二个功能不起作用?我正在尝试将帅哥列表中的每个魔术师更改为“[Magician] the Great”,但我不断收到内存错误。有什么建议吗?
谢谢你, -困惑的n00b
【问题讨论】:
-
您在迭代列表时附加到列表,因此它本质上是一个无限循环。
-
您可以将
make_great方法替换为magicians_list = [m + " the Great" for m in magicians_list]之类的方法
标签: python list for-loop append