如何在Python函数中传递列表?
时间:2023-05-10 09:04
把列表传递给函数后, 函数就能直接访问列表中的内容咯。 假设有一组专家,我们想邀请他们参加研讨会。 运行结果: 小明,您好,现邀请您参加 XX 研讨会… 黄莉莉,您好,现邀请您参加 XX 研讨会… 列表参数传递给函数后, 函数就可以对其进行修改。 注意:在函数中对列表所进行的任何修改都是永久性的。 运行结果: 执行前:experts=['小明', '小红'],informed=[] 小红,您好,现邀请您参加 XX 研讨会... 小明,您好,现邀请您参加 XX 研讨会... 执行后:experts=[],informed=['小红', '小明'] 即使没有注释,那些具有描述性的函数名也能清晰地表达出函数所做的工作。 有时候,我们并不想让函数修改传递进去的列表, 这时我们可以向函数传递列表的副本: 运行结果: 执行前:experts=['小明', '小红'],informed=[] 小红,您好,现邀请您参加 XX 研讨会... 小明,您好,现邀请您参加 XX 研讨会... 执行后:experts=['小明', '小红'],informed=['小红', '小明'] 虽然向函数传递列表的副本可以保留原始列表的内容, 但除非有充分的理由需要这样做。 因为让函数使用传递进行的列表可以避免花时间 在内存中创建副本,从而提高性能,这在处理大数据列表时尤其需要注意。 以上就是如何在Python函数中传递列表?的详细内容,更多请关注Gxl网其它相关文章!def send_invitation(experts): '''发送邀请函''' for expert in experts: print(expert + ',您好,现邀请您参加 XX 研讨会...')experts = ['小明', '小红']send_invitation(experts)
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))
我们也可以在一个函数中调用另一个函数, 这样有助于将复杂的任务分解为一系列的步骤,让程序变得更具可读性。2 只读列表
experts = ['小明', '小红'] # 专家列表informed = [] # 已通知人员列表print('执行前:experts=' + str(experts) + ',informed=' + str(informed))send_invitation(experts[:], informed)print('执行后:experts=' + str(experts) + ',informed=' + str(informed))