Python--修改列表中所有的元素

此段代码循环了列表中的值 但是不会修改列表

// An highlighted block
def make_great(magicians):
    for magician in magicians:
    #每次循环拿到列表的的值进行赋值给magician
        magician = "the Great " + magician
        #打印出magician的的值,应为 "the Great " + magician
        print(magician)
        #因为magician他只是变量,每次循环也只是修改的是变量中的值而不是列表
    return(magician)
magicians=['dante','vergil','leo']
print(make_great(magicians)) #此时的打印结果是方法return返回的值,并不是列表的
print(magicians)

》》》
the Great dante #第一次循环时magician的值为"the Great " +magician
the Great vergil#第二次
the Great leo #第三次
['dante', 'vergil', 'leo'] #原始列表中的值未被改变

修改后

def make_great(magicians):
	n=len(magicians) #拿到列表的长度进行循环
	for i in range(0,n):
	#下面这行代码才是真正意义上的修改列表
		magicians[i]="The Great "+magicians[i]
		#i列表的为下标,列表中为i下标的元素被修改
		print(magicians[i])
	return magicians
》》》》》》》》》》》》
结果如下
the Great dante
the Great vergil
the Great leo
['the Great dante', 'the Great vergil', 'the Great leo']

你可能感兴趣的:(Python)