Python中如何向函数传递列表

 更新时间:2023年03月31日 08:20:33   作者:摸鱼芝士  
本文主要介绍了Python中如何向函数传递列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

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中如何向函数传递列表的文章就介绍到这了,更多相关Python 函数传递列表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Python中使用print函数进行不换行打印问题

    Python中使用print函数进行不换行打印问题

    这篇文章主要介绍了Python中使用print函数进行不换行打印问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • pygame学习笔记之设置字体及显示中文

    pygame学习笔记之设置字体及显示中文

    游戏界面中文字也是非常常见的元素之一,pygame专门提供了Font模块来支持文字的显示,下面这篇文章主要给大家介绍了关于pygame学习笔记之设置字体及显示中文的相关资料,需要的朋友可以参考下
    2022-07-07
  • 基于PyQt5实现图转文功能(示例代码)

    基于PyQt5实现图转文功能(示例代码)

    PyQt提供了一个设计良好的窗口控件集合,具有更方便的操作性。学过VB的同学会知道,相比与VB的使用,在界面设计上元素更丰富,这篇文章主要介绍了基于PyQt5完成的图转文功能,需要的朋友可以参考下
    2022-06-06
  • Python文件操作函数用法实例详解

    Python文件操作函数用法实例详解

    这篇文章主要介绍了Python文件操作函数用法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python中的字典遍历备忘

    Python中的字典遍历备忘

    这篇文章主要介绍了Python中的字典遍历备忘,本文列举了多种字典遍历方法,适合初学者查看,并简单讲解了interitems和iterms区别,需要的朋友可以参考下
    2015-01-01
  • Python学习笔记之列表推导式实例分析

    Python学习笔记之列表推导式实例分析

    这篇文章主要介绍了Python学习笔记之列表推导式,结合实例形式分析Python列表推导式的原理、写法与相关使用技巧,需要的朋友可以参考下
    2019-08-08
  • Python如何快速生成本项目的requeirments.txt实现

    Python如何快速生成本项目的requeirments.txt实现

    本文主要介绍了Python如何快速生成本项目的requeirments.txt实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • pyinstaller打包exe程序的步骤和添加依赖文件的实现

    pyinstaller打包exe程序的步骤和添加依赖文件的实现

    这篇文章主要介绍了pyinstaller打包exe程序的步骤和添加依赖文件的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • python政策网字体反爬实例(附完整代码)

    python政策网字体反爬实例(附完整代码)

    大家好,本篇文章主要讲的是python政策网字体反爬实例(附完整代码),感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Flask之flask-script模块使用

    Flask之flask-script模块使用

    Flask Script扩展提供向Flask插入外部脚本的功能,这篇文章主要介绍了Flask之flask-script模块使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07

最新评论