我想覆盖'魔术师'名单,把'伟大'后,每个项目。 如果我使用pop()将新项目分配给一个新列表,使旧列表为空,并将新名称追加回该列表,则该方法有效。你知道吗
代码:
for great in greatlist:
mages.append(great)
但为什么不简单地复制它呢?结果是一个空的“法师”列表。你知道吗
mages=greatlist[:]
整个代码如下:
magicians=['feka','kuka','szuka']
#puts 'the Great' after every list element name
def make_great(mages):
greatlist=[]
while mages:
uj=mages.pop()
greatlist.append(uj + ", the Great")
# for great in greatlist:
# mages.append(great)
mages=greatlist[:]
问题是您正在尝试重新分配
mages
。这在python中是错误的,因为变量不是容器,但您必须将它们看作标签:请注意,作用域
greatlist
位于函数内部,因此一旦函数完成,它上的所有非全局的或返回的内容都将被分解。你知道吗或者也可以使用
list()
函数这将把
greatlist
的副本放入mages
你可以试试这个
相关问题 更多 >
编程相关推荐