在创建一个指定大小的列表列表时遇到了困难。
在这段内容中,问题的原因是使用[[]]*5000
创建了一个大小为5000的列表,但是实际上这个列表中的每个元素都是对同一个列表的引用。所以,如果修改了其中一个列表,其他所有的列表也会被修改。
解决方法是使用a = [[] for _ in xrange(5000)]
来创建一个大小为5000的列表,其中的每个元素都是一个新的空列表。这样,每个列表都是独立的,修改一个列表不会影响其他列表。
这个问题的出现并不罕见,类似的问题在Python中已经有很多重复的提问了。可以考虑创建一个“常见问题解答”(Frequently Answered Answers, FAA)的页面,然后可以直接引用该页面的答案,比如可以说“参见FAA #27”。其他一些常见问题的候选项有:“第N行的语法错误意味着第N-1行有未匹配的括号”,“比较1和'0'的结果可能不是你所想的,因为它们是不同的类型”。我想我会发布一个新的社区Wiki问题来讨论这个问题。