首页 > 后端开发 > Python教程 > 如何在Python函数中传递列表?

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

WBOY
发布: 2023-05-09 19:04:37
转载
1530 人浏览过

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

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

def send_invitation(experts):
    '''发送邀请函'''
    for expert in experts:
        print(expert + ',您好,现邀请您参加 XX 研讨会...')

experts = ['小明', '小红']
send_invitation(experts)
登录后复制

运行结果:

小明,您好,现邀请您参加 XX 研讨会…

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

1 修改列表

列表参数传递给函数后, 函数就可以对其进行修改。

注意:在函数中对列表所进行的任何修改都是永久性的。

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函数中传递列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板