标签:[] leetcode arc 初始化 总结 更新 错误总结 logs 分片
1、在创建一个二维列表的时候,我之前会用 a = [[0] * 5] * 5, 但是这样输出的结果往往会跟期待的不一样,我一直以为是我的程序有问题,百度了很久也不知道错误在哪儿,后来看见别人的解法,自己换了一个创建并初始化列表的代码,结果就可以运行了,出错的原因就是:[[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用,修改任何一个元素都会改变整个列表。所以我现在常用的方法就是用列表生成式:a = [[0] * 5 for _ in xrange(5)] 链接:http://www.cnblogs.com/btchenguang/archive/2012/01/30/2332479.html
2、其实和1一样,已知b列表,在我想要执行复制列表b并修改复制后的列表a的时候(a = b) ,如果我改变a之后b的值也会改变,因为他们现在是指向同一个列表,如果要复制可以执行 a = b[:],采用分片操作。
标签:[] leetcode arc 初始化 总结 更新 错误总结 logs 分片
原文地址:http://www.cnblogs.com/liuxinzhi/p/7569222.html