• python列表类型中的陷阱


            在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
    C++的socket编程学习
    GooglePlay
    GooglePlay
    Admob
    cocos2dx
    cocos2dx
    cocos2dx
    cocos2dx
    浅谈白鹭Egret
  • 原文地址:https://www.cnblogs.com/fireflow/p/4868828.html
Copyright © 2020-2023  润新知