PHP前端开发

Python函数交互疑惑解惑:如何实现函数间修改列表并显示结果?

百变鹏仔 5天前 #Python
文章标签 函数

函数交互疑惑解惑:文科零基础小白学习python函数

初学python时,函数的交互使用难免会遇到疑惑。以这段代码为例:

def make_great(names):    for name in names:        name_1 = "the great " + name.title()        print(name_1)def show_magicians(names):    for name in names:        print(name.title())names = ["a", "b", "c", "tutu", "mumu"]make_great(names)show_magicians(names)

使用者希望第一个函数修改列表 names,再由第二个函数显示修改后的结果。那么,两个函数是否可以相互作用呢?

事实上,想要实现这一需求,需要用到map函数。map函数通过传入列表和一个函数的方式,将函数作用在列表的每个元素上,并返回一个迭代器,其中包含所有元素的返回值。

立即学习“Python免费学习笔记(深入)”;

调整后的代码如下:

def make_great(names):    return map(lambda name: "the Great " + name.title(), names)def show_magicians(names):    for name in names:        print(name.title())names = ["A", "b", "c", "tutu", "mumu"]show_magicians(make_great(names))

这样,第一个函数 make_great 通过map函数返回一个新的列表,包含了修改后的元素。第二个函数 show_magicians 传入的是修改后的列表,因此能够正确显示最终结果。