本人用python刷题时的错误总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本人用python刷题时的错误总结相关的知识,希望对你有一定的参考价值。
本人新手,在leetcode刷题过程中出现过很多问题,故在此总结,不定时更新。
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[:],采用分片操作。
以上是关于本人用python刷题时的错误总结的主要内容,如果未能解决你的问题,请参考以下文章