>>> for j in range(10): ... random.seed() ... for i in range(6): ... num.append(random.randint(0,9)) ... num_col.append(num) ... num.clear() ... >>> num_col [[], [], [], [], [], [], [], [], [], []] 위의 소스는 랜덤값 6개를 만들어 리스트를 만들고 그 값을 num_col 리스트에 추가 합니다. 하지만 결과는 아무값도 들어가지 않습니다. 왜냐 하면 그 아래 num.clear() 때문입니다. 프로그램을 배우신 분이라면 당연히 아시겠지만....num_col 에는 num 의 값이 들어가는게 아니라 주소값이 들어 가기 때문입니다. > 원하는 결과를 얻는 방법은 2가지가 있습니다. for j in range(10): random.seed() for i in range(6): num.append(random.randint(0,9)) num_col.append(num) num=[] 위와 같이 num.clear() 대신 num=[] 같이 새로운 값을 할당해 버리면 됩니다. 그러면 새로운 객체가 생성되고 num 의 주소값이 바뀌기 때문에 저 위와 같은 문제가 없습니다. > 또 한가지 방법이 copy 명령을 써서 변수를 복사 하는 겁니다. import random import copy num=[] num_col=[] for j in range(10): random.seed() for i in range(6): num.append(random.randint(0,9)) num_col.append(copy.copy(num)) num.clear() 이렇게 하면 새로운 객체를 생성해서 값을 모두 복사해서 num_col 에 추가 하기 때문에 문제가 없습니다.