기본 미션: 리스트, 딕셔너리, 범위 자료형에 대해 이해한 내용을 바탕으로 포스팅하기
- 리스트란?
- 파이썬에서 리스트의 의미는 여라가지 자료를 저장할 수 있는 자료 이다.
- 대괄호인 "[]"안에 다양한 요소(숫자, 문자열, boolean)을 넣을 수 있다.
: array = [273, 32, 103, "문자열", True, False]
- 리스트는 인덱스와 요소로 구성 된다.
- 인덱스는 0 부터 시작함을 숙지한다.
인덱스 | 0 | 1 | 2 | 3 | 4 | 5 |
요소 | 273 | 32 | 103 | 문자열 | True | False |
- 인덱스를 이용하여 요소를 선택할 수 있으며, 인덱스는 2중으로 사용할 수 있다.
: array[0] -> 273, array[-1] -> False, array[3][0] -> 문
- 리스트에 요소를 추가하는 방법은 append, insert 함수를 이용하는 방법이 있다.
: append 함수는 리스트 뒤에 요소를 추가한다.
array.append("추가"), array -> [273, 32, 103, "문자열", True, False, "추가"]
: insert 함수는 리스트 중간에 요소를 추가한다.
array.insert(1, 100), array -> [273, 100, 32, 103, "문자열", True, False, "추가"]
- 리스트에 요소를 삭제하는 벙법은 del, pop, remove, clear 함수를 이용하는 방법이 있다.
: del 함수는 인덱스를 기준으로 요소를 삭제한다.
del array[0], array -> [100, 32, 103, "문자열", True, False, "추가"]
: pop 함수는 인덱스를 기준으로 요소를 삭제하며, 인덱스를 입력하지 않으면 마지막 요소를 삭제한다.
array.pop(), array -> [100, 32, 103, "문자열", True, False]
: remove 함수는 요소를 기준으로 요소를 삭제하며, 중복된 값이 있으면 앞쪽 요소를 삭제한다.
array.remove(32), array -> [100, 103, "문자열", True, False]
: clear 함수는 리스트 내부 모든 요소를 삭제한다.
array.clear(), array -> []
- 파이썬은 리스트 내부에 특정 값이 있는 지 in, not in 연산자를 활용하여 확인하는 방법을 제공한다.
: in 연산자는 리스트 안에 특정 값이 있는지 확인한다.
list_a = [273, 32, 103, 57, 52], 273 in list_a -> True
: not in 연산자는 리스트 안에 특정 값이 없는지 확인한다.
list_a = [273, 32, 103, 57, 52], 273 not in list_a -> False
- 리스트와 반복문
- 반복문은 말 그대로 조건에 따라 반복을 지시하는 방법이다.
: 반복할 수 있는 것은 문자열, 리스트, 딕션너리, 범위 등이 있다.
우선 리스트 예제를 알아보자.
array = [273, 32, 103, 57, 52]
for element in array:
print(element) -> 273, 32, 103, 57, 52를 순차적으로 출력한다.
- 딕셔너리
- 리스트가 인덱스를 기반으로 값을 저장하는 것이라면 딕셔너리는 키를 기반으로 값을 저장한다.
: {
"키A" : 10 -> (앞이 키 뒤가 값)
}
자료형 | 의미 | 가리키는 위치 | 선언 형식 |
리스트 | 인덱스를 기반으로 값을 저장 | 인덱스 | 변수 =[] |
딕셔너리 | 키를 기반으로 값을 저장 | 키 | 변수 ={} |
- 딕셔너리도 리스트처럼 내부에 다양한 값을 가질 수 있으며, 리스트와 딕셔너리도 값으로 넣을 수 있다.
dict_b = {
"director" : ["안소니", "루소"],
"cast" : ["아이언맨", "타노스", "토르", "닥터스트레인지", "헐크"]
}
- 딕셔너리도 리스트처럼 요소에 접근하는 방법이 거의 같다
구분 | 선언 형식 | 사용 예 | 틀린 예 |
리스트 | list_a = [] | list_a[1] | |
딕셔너리 | dict_a = {} | dict_a["name"] | dict_a{"name"} |
- 딕셔너리에도 값을 추가하거나 삭제할 수 있다.
: 딕셔너리에 값을 추가할 때는 키를 기반으로 값을 입력하면 된다.
dict_b["관객"] = 10000000
dict_b = {
"director" : ["안소니", "루소"],
"cast" : ["아이언맨", "타노스", "토르", "닥터스트레인지", "헐크"],
"관객" : 10000000
}
: 딕셔너리에 값을 삭제할 때는 키를 기반으로 del 함수를 쓰면 된다.
del dict_b["director"]
dict_b = {
"cast" : ["아이언맨", "타노스", "토르", "닥터스트레인지", "헐크"],
"관객" : 10000000
}
- 딕셔너리 내부에 키가 있는지 확인하는 방법은 in 키워드와 get()함수를 사용하는 방법이 있다.
: in 키워드는 "cast" in dict_b -> True와 같이 사용한다.
: get 함수는 result = dict_b.get("cast") -> True와 같이 사용한다.
- for 반복문을 딕셔너리와 함께 사용
: for 키 변수 in 딕셔너리:
코드
형태로 사용하면 된다.
- 범위 자료형
- for 반복문과 함께 쓰이는 자료형은 리스트, 딕셔너리가 있으며 추가적으로 범위(range)가 있다.
- 특성한 횟수만큼 반복해서 돌리고 싶을 때 for 반복문과 범위를 조합해서 사용한다.
: 첫째, 매개변수에 숫자 한 개를 넣는 방법, 둘째, 매개변수에 숫자 두 개를 넣는 방법, 셋째, 매개변수에 숫자 세 개를 넣는 방법
- 첫째, 매개변수에 숫자를 한 개 넣는 방법
: range(A): 0부터 A-1까지 정수로 범위를 만든다.
a = range(5), list(range(5)) -> 0, 1, 2, 3, 4 "즉 반복을 하면 5회 진행한다"
: range(A, B): A부터 B-1까지 정수로 범위를 만든다.
b = range(3, 8), list(range(3, 8)) -> 3, 4, 5, 6, 7 "즉 반복을 하면 3부터 7까지 5회 진행한다"
: range(A, B, C): A부터 B-1까지 앞 뒤의 숫자가 C만큼 차이나는 정수로 범위를 만든다.
a = range(1, 10, 2), list(range(1, 10, 2)) -> 1, 3, 5, 7, 9 "즉 2만큼 증가하면서 5회 진행한다"
추가 미션: 157쪽의 1번 문제의 답 쓰고 인증샷