返回

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对象?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
相关帖子
下一篇
python-超出Azure函数内存 2022-03-01 17:43:41