Python에서 루프가있는 목록 목록을 정의하려고합니다. 다음 목록을 구성하고 싶습니다.
x=[[0,0],[1,0],[2,0],...,[9,0]]
기본적으로 내가하는 일은 다음과 같습니다.
x=[[0,0]]*10
for i in range(10):
x[i][0]=i
print x
그러나 다음 목록으로 끝납니다.
x=[[9,0],[9,0],[9,0],...,[9,0]]
내가 무엇을 잘못하고 있지? 도와 주셔서 정말 감사합니다
이것이 당신이하려는 일입니까?
>>> [[i, 0] for i in range(10)]
[[0, 0], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0], [7, 0], [8, 0], [9, 0]]
당신이하고 있던 것이 잘못된 것은 당신이 목록을 만들고 있었다는 것입니다. 그리고 *
당신이 더 많이 만들지 않은 것을 사용함으로써 당신은 더 많은 참조를 만들뿐입니다. 이것은 당신이 목록을 변경할 때마다 매번 같은 목록.
>>> a = [[]]*10
>>> a
[[], [], [], [], [], [], [], [], [], []]
>>> a[0].append('X')
>>> a
[['X'], ['X'], ['X'], ['X'], ['X'], ['X'], ['X'], ['X'], ['X'], ['X']]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다