首页 > 编程语言 > 详细

本人用python刷题时的错误总结

时间:2017-09-21 17:23:02      阅读:321      评论:0      收藏:0      [点我收藏+]

    本人新手,在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刷题时的错误总结

原文:http://www.cnblogs.com/liuxinzhi/p/7569222.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!