您的位置 首页 编程知识

Python 函数修改列表,为什么原列表没有变化?

函数交互疑惑解惑 作为文科零基础的小白,在学习 函数时可能会遇到一些疑惑。本文将解析一个具体的问题,帮助你深入…

Python 函数修改列表,为什么原列表没有变化?

函数交互疑惑解惑

作为文科零基础的小白,在学习 函数时可能会遇到一些疑惑。本文将解析一个具体的问题,帮助你深入理解函数的用法。

问题

在以下代码中,希望先通过函数 make_great 修改列表 names,再使用函数 show_magicians 显示修改后的结果。但是实际运行时,names 并未被修改。这是?

立即学习“”;

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)
登录后复制

解答

在这个例子中,函数 make_great 想要修改 names 列表,但它并不会实际修改原有列表。它只是在循环内部创建了一个新的变量 name_1,并向其中添加了修饰符。

要解决这个问题,一种方法是使用 python 的 map 函数。map 函数将一个函数应用于的每个元素,并返回一个新对象。我们可以利用它来修改 names 列表。

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中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/3624.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部