美文网首页互联网科技程序员
在Python中如何向函数传递列表

在Python中如何向函数传递列表

作者: 派派森森 | 来源:发表于2019-03-17 15:25 被阅读3次
image

把列表传递给函数后, 函数就能直接访问列表中的内容咯。

假设有一组专家,我们想邀请他们参加研讨会。

def send_invitation(experts):
 '''发送邀请函'''
 for expert in experts:
 print(expert + ',您好,现邀请您参加 XX 研讨会...')
experts = ['袁孝楠', '黄莉莉']
send_invitation(experts)

运行结果:

袁孝楠,您好,现邀请您参加 XX 研讨会...

黄莉莉,您好,现邀请您参加 XX 研讨会...

Python学习交流群:556370268,有资源共享,经验分享,这里是python学习者聚集地,欢迎喜欢Python的小伙伴!

修改列表

列表参数传递给函数后, 函数就可以对其进行修改。 注意: 在函数中对列表所进行的任何修改都是永久性的。

def send_invitation(experts, informed):
 '''发送邀请函,并移动列表数据到【已通知】列表'''
 while experts:
 expert = experts.pop()
 print(expert + ',您好,现邀请您参加 XX 研讨会...')
 informed.append(expert)
experts = ['袁孝楠', '黄莉莉'] # 专家列表
informed = [] # 已通知人员列表
print('执行前:experts=' + str(experts) + ',informed=' + str(informed))
send_invitation(experts, informed)
print('执行后:experts=' + str(experts) + ',informed=' + str(informed))

运行结果:

执行前:experts=['袁孝楠', '黄莉莉'],informed=[]

黄莉莉,您好,现邀请您参加 XX 研讨会...

袁孝楠,您好,现邀请您参加 XX 研讨会...

执行后:experts=[],informed=['黄莉莉', '袁孝楠']

  • 即使没有注释,那些具有描述性的函数名也能清晰地表达出函数所做的工作。
  • 我们也可以在一个函数中调用另一个函数, 这样有助于将复杂的任务分解为一系列的步骤,让程序变得更具可读性。

2 只读列表

有时候,我们并不想让函数修改传递进去的列表,这时我们可以向函数传递列表的副本:

experts = ['袁孝楠', '黄莉莉'] # 专家列表
informed = [] # 已通知人员列表
print('执行前:experts=' + str(experts) + ',informed=' + str(informed))
send_invitation(experts[:], informed)
print('执行后:experts=' + str(experts) + ',informed=' + str(informed))

运行结果:

执行前:experts=['袁孝楠', '黄莉莉'],informed=[]

黄莉莉,您好,现邀请您参加 XX 研讨会...

袁孝楠,您好,现邀请您参加 XX 研讨会...

执行后:experts=['袁孝楠', '黄莉莉'],informed=['黄莉莉', '袁孝楠']

虽然向函数传递列表的副本可以保留原始列表的内容, 但除非有充分的理由需要这样做。 因为让函数使用传递进行的列表可以避免花时间在内存中创建副本, 从而提高性能, 这在处理大数据列表时尤其需要注意。

相关文章

  • 在Python中如何向函数传递列表

    把列表传递给函数后, 函数就能直接访问列表中的内容咯。 假设有一组专家,我们想邀请他们参加研讨会。 运行结果: 袁...

  • 在 Python 中如何向函数传递列表

    把列表传递给函数后, 函数就能直接访问列表中的内容咯。 假设有一组专家,我们想邀请他们参加研讨会。 运行结果: 袁...

  • 2019-03-04

    python函数,传递列表可以修改,普通变量只在函数内生效

  • Python学习纪录(12)

    学习内容:传递列表。 向函数传递列表,列表包含可能是名字,数字,或更复杂的对象,如字典。将列表传递给函数后,函数就...

  • Spark09 RDD分区与并行调优

    向 Spark 传递函数 在 Python 中如果函数比较短可以用 lambda 方式,当然也可以用传递函数如: ...

  • Python基础学习day4|函数2

    函数(二) 传递列表 向函数传递列表很有用,这种列表包含的可能是名字、数字或更复杂的对象(如字典)。将列表传递给函...

  • 8.4

    经常会发现,向函数传递列表很有用,这种列表包含的可能是名字、数字或更复杂的对象(如字典)。将列表传递给函数后,函数...

  • 第24课:传递列表

    预习: [:] 知识点: 8.4 传递列表 8.4.1 在函数中修改列表 8.4.2 禁止函数修改列表 练习: 大...

  • Python 向对象传入任意数量的实参

    向函数传递任意参数 我们都知道,Python 可以通过 *params 向函数传递任意多个参数。举个栗子: 得到的...

  • python(16):函数(3)

    1.传递列表 将列表传递给函数后,函数就能直接访问其内容假设有一个用户列表,要问候其中的每位用户 2.在函数中修改...

网友评论

    本文标题:在Python中如何向函数传递列表

    本文链接:https://www.haomeiwen.com/subject/zjsumqtx.html