[파이썬] 리스트 복제하기
파이썬을 사용하다 보면 리스트를 복제하여 쓰곤 하는데 이 경우에 다음과 같이 카피하는 경우가 많다. list1 = list2 이렇게 되면 리스트를 잘 복제한 것처럼 보이지만 사실은 list1 과 list2 는 같은 리스트를 가리키고 있게 된다. list2 의 id, 즉 메모리의 주소가 list1 의 그것과 같은 것을 볼 수 있다. >>> list1 = [1,2,3,4,5] >>> list2 = list1 >>> print(list1, id(list1)) [1, 2, 3, 4, 5] 4307916032 >>> print(list2, id(list2)) [1, 2, 3, 4, 5] 4307916032 해결하는 방법은 다음과 같다. slicing을 사용해서 복제할 수 있다. >>> list2 = list1[:..
[파이썬] 리스트의 요소와 인덱스를 같이 표현하는 법 / enumerate()
리스트의 요소와 함께 그에 맞는 인덱스를 함께 사용할 때 다음과 같이 사용하는 경우가 많다. >>> lis = ['A', 'B', 'C', 'D', 'E'] >>> number = 0 >>> for i in lis: ... print(number, i) ... number += 1 ... 0 A 1 B 2 C 3 D 4 E 하지만 이렇게 되면 number 라는 쓰이지 않는 변수가 하나 더 생성된다. 혹은 다음과 같이 사용하는 경우도 있다. >>> lis = ['A', 'B', 'C', 'D', 'E'] >>> for i in range(len(lis)): ... print(i, lis[i]) ... 0 A 1 B 2 C 3 D 4 E enumerate()를 활용하면 간단하게 인덱스와 값을 나타낼 수 있다..