注册 登录
编程论坛 Python论坛

关于函数修改列表的相关问题

aa2820981 发布于 2019-07-25 10:40, 1606 次点击
代码如下:
# -*-coding:gb2312 -*-
def show_magicians(magicians):
    print("\nthe magicians are:")
    for magician in magicians:
        mag = magician.title()
        print(mag)
        
def make_great(magicians):
    for magician in magicians:
        magician = "The great" + magician.title()
        print(magician)
magicians=['arthur','may','leo']
copy = magicians[:]
show_magicians(magicians)
make_great(copy)
print(copy)

按照我的理解,当调用了make_great()函数后,copy列表应该已经修改了,但是为什么打印出的结果,copy列表还是['arthur','may','leo']?
新人,求大神指教!!!!
2 回复
#2
wp2319572019-07-25 11:14
回复 楼主 aa2820981
程序代码:

def make_great(mag):
    for i,mg in enumerate(mag):
        mag[i] = "The great" + mg
        
magicians=['arthur','may','leo']
make_great(magicians)
print(magicians)
#3
aa28209812019-07-25 14:53
回复 2楼 wp231957
谢谢!
1