为了账号安全,请及时绑定邮箱和手机立即绑定

如何将新列表分配给作为参数传递的列表?

如何将新列表分配给作为参数传递的列表?

眼眸繁星 2021-06-14 17:19:38
我正在为一个需要接收列表的函数实现 API,通过一些修改制作它的副本,然后将 out 参数设置为副本。即函数不返回任何内容,但必须更改作为参数传入的列表对象。像这样的东西:l = [1,2,3]def f(passed_in_list):   different_list = [4,5,6]   passed_in_list = different_list[:]print(l)   # Prints [1,2,3]. How to make it [4,5,6] ?我怎样才能做到这一点?
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

您需要修改列表,而不是指向它的变量。正如其他人所提到的,您需要调用该函数:


l = [1,2,3]



def f(passed_in_list):

   different_list = [4,5,6]

   passed_in_list[:] = different_list[:]



f(l)

print(l)


查看完整回答
反对 回复 2021-06-29
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

这让我觉得这是一种危险的设计模式,它创建了一个对全局范围具有故意副作用的函数。我会小心地做这样的事情。话虽如此,但看起来您似乎并未调用您的函数,这可能就是您没有看到预期内容的原因。


查看完整回答
反对 回复 2021-06-29
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您需要实际调用您的函数:


l = [1,2,3]


def f(passed_in_list):


   passed_in_list[:] = [4,5,6]


f(l)


print(l)

产量:


[4, 5, 6]



查看完整回答
反对 回复 2021-06-29
  • 3 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信