列表如何作为参数传递?

哈那

使用以下代码

def test(n): 
    n=n*2 
    print("inside test",n) 

n=[9] 
print("before the call", n) 
test(n) 
print("after the call", n) 

输出是:

before the call [9]
inside test [9, 9]
after the call [9]

我以为函数中的列表参数是通过引用传递并修改了调用参数的,这里不是这样:令人惊讶。我期待:

before the call [9]
inside test [9, 9]
after the call [9, 9]

如果我使用append方法代替n=n*2,效果就可以了。任何人都可以澄清这一点吗?

皮尼科

它涉及可变或不可变的类型和值或引用参数。Python通过“引用”但不是真的(有关详细信息,请参见此处:https : //jeffknupp.com/blog/2012/11/13/is-python-callbyvalue-or-callbyreference-ntwo/

>>> def update_list(the_list):
    print('got', the_list)
    the_list.append('four')
    print('changed to', the_list)

>>> toto = ["one"]
>>> update_list(toto)
got ['one']
changed to ['one', 'four']
>>> print(toto)
['one', 'four']


>>> def new_list(the_list):
    print('got', the_list)
    the_list = the_list + ["four"]
    print('changed to', the_list)

>>> toto = ["one"]
>>> new_list(toto)
got ['one']
changed to ['one', 'four']
>>> print(toto)
['one']

Python文档:https : //docs.python.org/3/faq/programming.html#how-do-i-write-a-function-with-output-parameters-call-by-reference

一个类似的问题:如何通过引用传递变量?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

传递列表参数作为参考

来自分类Dev

将列表作为参数传递

来自分类Dev

subprocess.Popen:如何将列表作为参数传递

来自分类Dev

Python:如何将列表作为参数传递给函数?

来自分类Dev

如何将列表元素作为参数传递

来自分类Dev

如何将多个列表值作为函数参数传递?

来自分类Dev

如何将列表作为参数传递给blazor页面

来自分类Dev

如何将列表作为参数传递给方法

来自分类Dev

如何在函数中将元组列表作为参数传递?

来自分类Dev

如何在Python中将列表作为参数传递给函数

来自分类Dev

如何在Scala中调用作为参数传递的列表

来自分类Dev

如何传递nullptr作为参数?

来自分类Dev

Python ::将列表作为参数传递

来自分类Dev

在Scrapy中将列表作为参数传递

来自分类Dev

将对象列表作为单个参数传递

来自分类Dev

替换作为参数传递的列表的内容

来自分类Dev

执行作为函数参数传递的方法列表

来自分类Dev

传递列表作为函数的参数之一

来自分类Dev

在Wolfram Mathematica中将列表作为参数传递

来自分类Dev

Ansible:将命令参数作为列表传递

来自分类Dev

在 R 中将多个参数作为列表传递

来自分类Dev

在Scala中,如何传递带有多个参数列表作为参数的函数?

来自分类Dev

如何将集合列表作为单独的参数传递给函数?

来自分类Dev

如何将列表框selecteditem作为按钮中的命令参数传递?

来自分类Dev

如何将字符串列表作为参数传递给批处理脚本?

来自分类Dev

如何将数组或列表作为参数传递给PowerShell函数?

来自分类Dev

如何在Java中将泛型列表类作为参数传递给泛型方法?

来自分类Dev

如何将对象列表作为函数中的参数传递,然后使用对象的属性C#

来自分类Dev

如何将优化的参数作为列表传递给light gbm?

Related 相关文章

  1. 1

    传递列表参数作为参考

  2. 2

    将列表作为参数传递

  3. 3

    subprocess.Popen:如何将列表作为参数传递

  4. 4

    Python:如何将列表作为参数传递给函数?

  5. 5

    如何将列表元素作为参数传递

  6. 6

    如何将多个列表值作为函数参数传递?

  7. 7

    如何将列表作为参数传递给blazor页面

  8. 8

    如何将列表作为参数传递给方法

  9. 9

    如何在函数中将元组列表作为参数传递?

  10. 10

    如何在Python中将列表作为参数传递给函数

  11. 11

    如何在Scala中调用作为参数传递的列表

  12. 12

    如何传递nullptr作为参数?

  13. 13

    Python ::将列表作为参数传递

  14. 14

    在Scrapy中将列表作为参数传递

  15. 15

    将对象列表作为单个参数传递

  16. 16

    替换作为参数传递的列表的内容

  17. 17

    执行作为函数参数传递的方法列表

  18. 18

    传递列表作为函数的参数之一

  19. 19

    在Wolfram Mathematica中将列表作为参数传递

  20. 20

    Ansible:将命令参数作为列表传递

  21. 21

    在 R 中将多个参数作为列表传递

  22. 22

    在Scala中,如何传递带有多个参数列表作为参数的函数?

  23. 23

    如何将集合列表作为单独的参数传递给函数?

  24. 24

    如何将列表框selecteditem作为按钮中的命令参数传递?

  25. 25

    如何将字符串列表作为参数传递给批处理脚本?

  26. 26

    如何将数组或列表作为参数传递给PowerShell函数?

  27. 27

    如何在Java中将泛型列表类作为参数传递给泛型方法?

  28. 28

    如何将对象列表作为函数中的参数传递,然后使用对象的属性C#

  29. 29

    如何将优化的参数作为列表传递给light gbm?

热门标签

归档