본문 바로가기

리스트3

파이썬 | 리스트를 리스트에 복사할 때, 주의할 점 list 자료형에서 list 자료형으로 복사 할 때, 내가 실수 했던 것을 적어보려한다. lst = [1,3,4,2] copy = [] 이렇게 두개의 리스트가 주어지고, lst에서 copy로 복사하고 싶었다. copy = lst copy.sort() print("lst = ",lst) print("copy = ",copy) lst = [1, 2, 3, 4] copy = [1, 2, 3, 4] Process finished with exit code 0 위의 코드는 내가 제일 처음 썼던 코드인데, 이렇게 그냥 copy = lst를 써버리니까, copy의 내용을 바꾸게되면 원래있는 lst에도 영향이 갔다. 나는 원래 리스트는 그대로 두고싶었다. 이럴 때 해결방법은 아래와 같다. copy = list(lst).. 2020. 3. 15.
파이썬 | 리스트 생성, 생성과 동시에 크기지정 파이썬에서 빈 list를 생성하고 for문과 input함수를 통해 원소를 입력하려고 할 때, lst = list() for i in range(0,9): lst[i] = input() IndexError: list assignment index out of range 이렇게 인덱스에러가 나면서 입력이 정상적으로 되지 않는다. 잘 생각해보니까, 리스트라는게 생기기만 했지, 크기를 지정 해 주지 않아서 그런거 같은 느낌이었다. 크기를 생성과 동시에 지정해 주는 방법은 간단하다. lst = list(0 for i in range(0,9)) 이런식으로 크기를 지정 해 주면 된다. lst = list(0 for i in range(0,9)) for i in range(0,9): lst[i] = input() fo.. 2020. 3. 15.
파이썬 | 입력을 받고 바로 리스트에 집어넣어 보자. 역시 백준 알고리즘을 풀던 중, 여러 개의 숫자를 띄어쓰기 기준으로 한번에 입력받아서 저장 할 방법이 필요했다. 군대가기 전 배운걸 생각해 봤을때, 여러 개의 숫자를 저장할 자료형은 list를 쓰면 될것 같았다. 하지만, 띄어쓰기를 기준으로 한번에 입력받을 수 있는 방법이 기억이 나지 않아. 찾아보았다. 역시 답은 너무너무 간단했다. lst = list() lst = input().split() 그냥 리스트를 만들어 주고, input().split()을 사용하면 알아서 파이썬에서 입력받은 크기만큼 리스트를 만들어 줬다. 입력 받자마자 정수형으로 바꾸고싶으면 lst = map(int,input().split()) 이렇게 사용하면 된다. 2020. 3. 15.