|
鼓捣了好久,终于发现好像是列表定义出了问题,[[0]*n]*n这样定义的列表,在进行子列表更改时,貌似所有的子列表都在同时变化。。。
刚刚想写一个东东,有一部分是做一个随机的列表,列表的形式大概是[[0]*n]*n,
用随机数处理替换0后,发现随机生成的每个子列表居然是一样的
这部分代码如下:
- # coding=UTF-8
- import os
- import sys
- import random
- import time
- def a(n = 9):
- #os.system('cls')
- global aa
- aa = [[0]*n]*n
-
- b(n)
- for i in range(n):
- for j in range(n):
- print (str(aa[j][i]) + ' '),
- time.sleep(0.01)
- print
- def b(n):
- for i in range(n):
- aa[i].remove(0)
- for j in range(n-len(aa[i])):
- aa[i].insert(0,random.choice([1,2,3,4,5]))
- a()
复制代码 打印出来是这样滴。。。。
5 5 5 5 5 5 5 5 5
1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3
2 2 2 2 2 2 2 2 2
5 5 5 5 5 5 5 5 5
4 4 4 4 4 4 4 4 4
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
求各位帮看看这是咋个滴咯。。。。
|
|