码迷,mamicode.com
首页 > 编程语言 > 详细

python列表类型中的陷阱

时间:2015-10-11 10:12:22      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

        在python中对列表使用重复运算符*进行操作时,只是简单的进行了浅复制,内部的结构并没有复制过来,所以下面的例子结果是这样的:

  1. >>> lists =[[]]*3
    >>> lists
    [[],[],[]]
    >>> lists[0].append(3)
    >>> lists
    [[3],[3],[3]]
        [[]]只是一个单元素列表,元素为一个空列表,执行重复运算之后,这三个元素都指向同一个空列表,修改lists中的任一个元素都将修改这个空列表,所以必须对是上面的代码进行修改。
  1. >>> lists =[[]for i in range(3)]
    >>> lists[0].append(3)
    >>> lists[1].append(5)
    >>> lists[2].append(7)
    >>> lists
    [[3],[5],[7]]

python列表类型中的陷阱

标签:

原文地址:http://www.cnblogs.com/fireflow/p/4868828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!