python-通过函数更改列表副本的值时出现意外的“无”
发布时间:2022-03-01 18:35:36 370
相关标签:
我做了以下两个功能:
def make_great(magicians):
for i in range(len(magicians)):
magicians[i] += " the Great."
def show_magicians(magicians):
for magician in magicians:
print(magician)
然后,我将魔术师列表的副本传递给make_great函数,将其分配给copy变量,并将其传递给show_魔术师函数:
magicians = ['Peter', 'Hendrick', 'Charles', 'Ryan', 'Alex']
copy = make_great(magicians[:])
show_magicians(copy)
这给了我TypeError:“NoneType”对象是不可编辑的。
当我将原始列表传递给它时,它就起作用了。然而,我也尝试了以下方法:
magicians = ['Peter', 'Hendrick', 'Charles', 'Ryan', 'Alex']
print(make_great(magicians))
make_great(magicians)
show_magicians(magicians)
这会给出所需的结果,但print函数也会返回一个None对象。我有两个问题:1)为什么我只在列表副本中得到TypeError,2)为什么make_great函数在这两种情况下(在副本和原始列表中)都返回None对象?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报