def show_magicians(magicians):
for magician in magicians:
print(magician)
def make_great(new_magician,magicians):
while magicians:
new_magician = magicians.pop()
great_magician = 'The Great ' + new_magician
print(great_magician)
magicians = ['David','Kebfer','liuqian','suiyi']
new_magician = []
show_magicians(magicians)
make_great(new_magician,magicians[])
for magician in magicians:
print(magician)
def make_great(new_magician,magicians):
while magicians:
new_magician = magicians.pop()
great_magician = 'The Great ' + new_magician
print(great_magician)
magicians = ['David','Kebfer','liuqian','suiyi']
new_magician = []
show_magicians(magicians)
make_great(new_magician,magicians[])
show_magicians(magicians)
以上输出后会发现后一个show_magicians(magicians)输出是没有的,因为列表里的元素都已经pop()出来了
def show_magicians(magicians):
for magician in magicians:
print(magician)
def make_great(new_magician,magicians):
while magicians:
new_magician = magicians.pop()
great_magician = 'The Great ' + new_magician
print(great_magician)
magicians = ['David','Kebfer','liuqian','suiyi']
new_magician = []
show_magicians(magicians)
make_great(new_magician,magicians[:])
show_magicians(magicians)
这次仅仅是将make_great(new_magician,magicians) 改为make_great(new_magician,magicians[:])
再次调用show_magicians(magicians)时会发现原列表不变