0
다음 코드가 있습니다.목록의 목록 편집하기 python3
class Board:
def __init__(self, size=7):
self._size = size
self._list, self._llist =[],[]
for i in range (self._size):
self._list.append('_ ')
for j in range(self._size):
self._llist.append(self._list)
def printboard(self):
for i in range(self._size):
for j in range(self._size):
print(self._llist[i][j], end = ' ')
print('\n')
def updateboard(self,x,y,letter):
self._llist[x][y]=letter
self.printboard()
board = Board(3)
board.updateboard(0,0,'c')
이
c _ _
c _ _
c _ _
대신
c _ _
_ _ _
_ _ _
어떤 문제가 있는지 알 수 없습니다. 또한리스트를 동적으로 생성하는 더 간단한 방법이 있습니까?
고마워!
덕분에이 작업을 수행하는 가장 쉬운 방법은 변경하는 것입니다. 하지만 llsit에서 한 필드 만 변경하면 목록이 변경되는 이유를 이해할 수 없습니까? – pogo
여기에 설명이 있습니다. http://henry.precheur.org/python/copy_list –
당신이하고 있던 일은 모두 같은 목록을 가리키는 세 개의 레이블을 만드는 것입니다. 내가 한 일은 세 가지리스트를 만드는거야. 몇 번이나 그 페이지를 읽고 잘하면 당신은 아이디어를 얻을 것이다. note - 그 페이지에서 그들은 self._list [:]를 수행합니다. 이것은 list (self._list)로 한 일을하는 또 다른 방법입니다. 또한 변수 "list"를 호출하는 것이 혼란 스럽기 때문에 중지하십시오! :영형) –