
1 tuoxie007 2012-04-28 21:21:06 +08:00 可能是一级数组中的指针指向了同一个[],建议检查一下id是否相同 |
2 tuoxie007 2012-04-28 21:23:44 +08:00 如果是这样的话,换成list()试试,我在外面,没有命令行可以试 |
3 quake0day 2012-04-28 22:36:34 +08:00 >>k=[] >>k.append([]) >>k.append([]) >>k.append([]) >>k [[],[],[]] >>k[0].append(1) >>k [[1],[],[]] Python 2.7.3没问题 |
4 reorx 2012-04-28 22:46:49 +08:00 @tuoxie007 似乎只可能是这种情况,但列表作为可变对象,在创建的时候是不会查找缓存或出现重复的。[] is [] 得到的结果会是False,用不用list()都是一样的。这样说,我也没看出来问题出在哪里。。。 |
5 yuelang85 2012-04-28 22:55:29 +08:00 这个函数没有问题。 检查下各个self.__groups的赋值语句?最好能把他们贴出来,尤其是self._groups的初始化语句。 |
7 yuelang85 2012-04-28 23:01:12 +08:00 @thedevil7 id一模一样说明是同一个对像哇。不过这个也说明不了啥,因为你这种情况除了自定义了append函数以外,基本上就是因为同一个对象。所以能不能把self._groups的初始化语句贴出来? |
8 binux 2012-04-28 23:02:21 +08:00 你是这么初始化的吧 groups = [[]]*3 |
9 yuelang85 2012-04-28 23:03:23 +08:00 我最怀疑的,就是在初始化语句那里写了这么样的一段: self._group_amount = 10 self._groups = [[]] * self._group_amount |
13 thedevil7 OP |
14 thedevil7 OP |