美文网首页
Python list的乘法复制

Python list的乘法复制

作者: 戏之地 | 来源:发表于2016-12-05 14:12 被阅读510次

    建议这几篇文章都看看
    Python中type和object的关系
    Python中一切皆对象
    Python list的乘法复制
    Python list+=和list=list+的区别

    ls里面有一个子元素[],[子元素_0]*10不是子元素_0复制10次,而是后面的每个元素都指向子元素_0,即子元素_10作为一个引用被复制了10次。浅拷贝而已,如果改变了一个,其余的都会改变

    ls的元素*10实际上为里面的元素的引用复制了10次

    Python中对对象的传参和赋值都是引用的传递和赋值
    除非引用copy库中的强制复制

    正确的方法

    还可以简写成

    [[] for i in range(10)] # 一个列表生成式
    

    L = L * 10和*L = 10是不同的:
    就像加法运算一样,后者并没有改变原来的引用情况。

    新问题
    函数f是和默认参数l是绑定在一起的,因为l是可变对象,所以可以在l的基础上进行更改,
    详解该问题

    相关文章

      网友评论

          本文标题:Python list的乘法复制

          本文链接:https://www.haomeiwen.com/subject/ivwkmttx.html