for문 도중 값이 바뀌는 것에 주의
>>> a = list('asdf1234') >>> a ['a', 's', 'd', 'f', '1', '2', '3', '4'] >>> for x in a: a.remove(x) ... >>> >>> a ['s', 'f', '2', '4'] for문 도중에 a의 배열이 변하게 하면, 의도치 않은 결과를 갖게 될 수 있다. asdf1234에서 a를 지우면 sdf1234가 남는데, for문은 a[0]을 처리했으니 a[1]을 처리하려고 할 것이다. 그런데 이 시점에서 a[1]은 s가 아닌 d이다. 즉 a[1]을 처리하고나면 sf1234가 남는다. sf1234에서 a[2]는 1이므로 처리하면 sf234... 이런 식으로 가서 마지막엔 sf24만 남게 된다. 그렇다면 for문 도중에 배열이 변하지 않게 하려면 어..
2021. 5. 19.
9. 파이썬 for문 (1)
>>> for x in range(9): ... print(x) ... 0 1 2 3 4 5 6 7 8 대망의 for문 맨 처음에 for를 쓰고, 그 다음에 값이 변수 이름을 쓴다. 그 다음에 in을 쓰고, 그 다음에 iterable 가능한 객체를 쓴다. iterable 가능한 타입은 list, dict, str, tuple, range 등이 있다. 여기서 range에 대해 설명하자면, range(stop) : 0부터 stop-1까지의 정수 등차수열 (= range(0, stop)) range(start, stop) : start부터 stop-1까지의 정수 등차수열 range(start, stop, step) : start부터 stop-1까지의 step을 공차로 한 등차수열 >>> list(range(0..
2021. 4. 24.