函数交互疑惑解惑:文科零基础小白学习函数
初学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函数通过传入列表和一个函数的方式,将函数作用在列表的每个元素上,并返回一个迭代器,其中包含所有元素的返回值。
调整后的代码如下:
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 传入的是修改后的列表,因此能够正确显示最终结果。
以上就是Python函数交互疑惑解惑:如何实现函数间修改列表并显示结果?的详细内容,更多请关注php中文网其它相关文章!