python建立多维列表

By francis_hao    Mar 24,2018 html

 

"*"操做符能够用于列表,表示将列表内容重复n次。以下, python

 

可是当列表内容是列表的时候就出问题了,若是我只是修改多维列表中的一项,结果是全部的都改变了,以下 spa

 

这是由于,"*"操做符至关于"浅复制"的概念。只复制了一个"指针"过去,以下 指针

 

这个时候若是修改复制后的内容,其结果就取决于复制的内容是什么了,若是是一个独立的对象,那修改不会形成其余影响 htm

 

可是,若是复制的内容是一个复合的对象,而修改仅仅是修改了复合对象里的内容,那么全部复制的复合对象内容都会被改变,以下图 对象

 

那么,怎么实现相似"深复制"的操做呢?官方FAQ里提供了答案,就是用新建立的列表为每一个复制的对象赋值。 blog

 

一种更简便的写法: ci

这里把[None]*2当作是一个总体,for是基于它的操做。 get

 

 


本文由 刘英皓 创做,采用 知识共享署名-非商业性使用-相同方式共享3.0中国大陆许可协议 进行许可。欢迎转载,请注明出处:
转载自:http://www.cnblogs.com/yinghao1991/p/8641236.html io

 

 

参考

【1】faq-multidimensional-list https://docs.python.org/3/faq/programming.html#faq-multidimensional-list

相关文章
相关标签/搜索