벌써 셋째주! 이번 주는 리스트, 딕셔너리, 범위 자료형 이해한 거 정리하기
리스트란?
여러가지 자료를 저장할 수 있는 자료이다!
형태는 [ 요소, 요소, 요소, ... ] 이런 식으로 생겼다.
다른 언어에서는 자료형이 다르면 리스트에 쓸 수 없었던 것 같은데 (아닌가?) 파이썬은 다른 자료형인 요소들을 하나의 리스트에 쓸 수 있다.
대괄호 [] 안에 들어간 숫자가 인덱스이다.
리스트의 인덱스는 0부터 시작한다.
인덱스를 음수로 해서 리스트의 뒤에서부터 선택할 수 있다.
187번째 줄 보면 인덱스가 -7인데 이때 IndexError가 나타난다. 리스트의 길이를 넘어가는 요소를 선택하려고 하면 나타난다. 요소가 존재하지 않는 위치에서 요소를 꺼내려고 해서 나타나는 에러이다.
리스트는 리스트 안에 리스트를 사용할 수 있고 리스트 접근 연산자를 이중으로 사용할 수 있다.
180번째 줄을 보면 3번째에 있는 "문자열" 요소의 0번째 요소에 접근하는 것이다.
그래서 "문자열"의 "문"이 출력되는 것이다.
리스트는 연산자도 사용할 수 있는데 +, *, len() 세 가지이다
186줄) 먼저 +는 리스트를 연결하는 것이다. 더하기가 아니라 연결!
+를 하고 출력해보면 하나의 리스트처럼 보이는 것이다.
187줄) *는 반복이다. list_a를 3번 반복한 리스트가 되는 것이다.
188줄) len( )은 요소의 개수를 세어준다. list_a의 요소는 1, 2, 3으로 총 3개가 있으니 결과로 3이 출력되는 것이다.
리스트에 요소를 추가할 수 있다!
append( ) 함수는 리스트명.append(요소) 형식으로 사용한다!
190줄) list_a에 요소 4를 추가하는 줄이다. 결과를 보면 list_a의 마지막 자리에 4가 추가된 것을 확인할 수 있다.
insert( ) 함수는 리스트명.insert(위치, 요소) 형식으로 사용한다!
192줄) 2번 위치에 7을 추가하겠다는 의미이다. 원래 있던 요소는 뒤로 밀린다. 그래서 [4, 5, 7, 6]으로 출력된 결과를 확인할 수 있다.
이상하게도 visual studio code에서 print("list_a.append(4) = ", list_a.append(4)) 이렇게 써보니 결과가 None이라고 출력되었다. print("list_b.insert(2, 7) = ", list_b.insert(2, 7))의 결과도 None이라고 출력된다.
함수라 그런 것인가.. 추측되지만... 잘 모르겠다!
append( )와 insert( )함수는 리스트에 요소 하나를 추가하는데 여러 개를 추가하고 싶으면 extend( )를 사용하면 된다.
extend( )함수를 써서 동시에 4, 5, 6 요소 3개가 list_a에 추가되었다.
리스트의 특정 위치의 요소를 제거하려면 del과 pop을 쓰면 된다.
del 리스트명[인덱스] 리스트명.pop(인덱스)
204줄) 리스트의 1번째 요소가 제거한다. list_a의 1번째 요소인 1이 제거되었다
207줄) 리스트의 2번째 요소를 제거한다. del로 list_a의 요소가 0, 2, 3, 4, 5가 되었다. 이 리스트에서 2번째 요소인 3이 제거되는 것이다.
이번에는 값으로 제거하는 함수인 리스트.remove(값) 을 사용한다.
211줄) remove함수로 2를 제거한다. 그러면 리스트의 요소 2가 제거되었다. 만약 2가 여러 개 있었으면 맨 처음 나오는 거 하나만 제거될 것이다.
214줄) clear( )로 리스트의 모든 요소를 제거한다. 결과를 보면 []이라고 출력되는데 이는 요소가 모두 제거되었다는 의미이다.
특정값이 리스트 내부에 있는지 확인 할 수 있는 in / not in 연산자가 있다
값 in 리스트
boolean 형식으로 참이면 True 거짓이면 False가 출력된다.
for 반복문
for 반복자 in 반복할 수 있는 것:
코드
반복문을 이용해 리스트의 요소를 차례로 출력할 수 있다. 자료형에 상관 없이 반복문에 적용이 가능하다!
딕셔너리
딕셔너리는 키를 기반으로 값을 저장하는 것이다.
변수 = {
키: 값,
키: 값,
. . .
키: 값
}
요소에 접근하는 방법은 dic["키 값"] 으로 하면 된다
딕셔너리에 요소 추가하기 / 요소 제거하기
244~246줄) 빈 딕셔너리에 요소를 추가한다.
250줄) 딕셔너리의 name 요소를 제거한다.
범위 자료형 range
매개변수에 숫자를 한 개 넣는 법 | range(A) |
매개변수에 숫자를 두 개 넣는 법 | range(A, B) |
매개변수에 숫자를 세 개 넣는 법 | range(A, B, C) |
범위와 함께 for 반복문 사용 | for 숫자 변수 in 범위: 코드 |
253줄) i를 5부터 10-1까지의 범위를 만든다
257줄) i를 0부터 10-1까지 3씩 증가시키는 범위를 만든다
선택 미션
157p 1번 풀기
'PYTHON > 혼공파' 카테고리의 다른 글
[혼공챌린지] 혼공파 5주차 파이썬 기본미션, 선택미션 (0) | 2021.08.05 |
---|---|
[혼공챌린지] 혼공파 4주차 파이썬 기본미션, 선택미션 (0) | 2021.07.29 |
[혼공챌린지] 2주차 혼공파 파이썬 선택미션, 백준 if문 문제 (0) | 2021.07.20 |
[혼공챌린지] 2주차 혼공파 파이썬 기본미션 (0) | 2021.07.14 |
[혼공챌린지] 1주차 혼공파 파이썬 선택미션 (0) | 2021.07.05 |