嵌套列表引用无效

时间:2013-01-27 21:49:33

标签: python python-3.x nested-lists

我是中学的菜鸟。我有一小段代码无效:

board=[]
temp=[]

for var0 in range(17):
    temp.append('  ')
for var in range(17):
    board.append(temp)
class group:
    def __init__(self):
        self.f=[]
        self.x=[]
        self.y=[]

groupb=[]
groupw=[]

while 1:
    for var0 in range(17):
        for var1 in range(17):
            if var1==16:
                print((board[var0])[16])
            else:
                print((board[var0])[var1],end='')
    move=input()
    move=(move.lower()).split()
    move[1]=int(move[1])
    move[2]=int(move[2])
    if move[0]=='b':
        board[move[1]][move[2]]=' b'
        for var0 in range(len(groupb)):
            if (move[1]-1 in groupb[var0].x or move[1]+1 in groupb[var0].x or move[1] in groupb[var0].x) and (move[2]-1 in groupb[var0].y or move[2]+1 in groupb[var0].y or move[2] in groupb[var0].y):
                (groupb[var0].x).append(move[1])
                (groupb[var0].y).append(move[2])
                temp=1
        if temp!=1:
            groupb.append('')
            groupb[len(groupb)-1]=group()
    elif move[0]=='w':
        board[move[1]][move[2]]=' w'
        for var0 in range(len(groupw)):
            if (move[1]-1 in groupw[var0].x or move[1]+1 in groupw[var0].x or move[1] in groupw[var0].x) and (move[2]-1 in groupw[var0].y or move[2]+1 in groupw[var0].y or move[2] in groupw[var0].y):
                (groupw[var0].x).append(move[1])
                (groupw[var0].y).append(move[2])
        if temp!=1:
            groupw.append('')
            groupw[len(groupb)-1]=group()
    else:
        print('TurnError')

但是每当我尝试运行它时,当我只想要一个字符时它会吐出整个列:

     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        
     b                        

有谁能告诉我我做错了什么?我真的很困惑。

1 个答案:

答案 0 :(得分:0)

正如丹所说,答案是将board.append(temp)改为board。(list(temp))。它反复引用了温度。