본문 바로가기

카테고리 없음

혼공단 4기 - 혼공파 3주차 미션

기본 미션: 리스트, 딕셔너리, 범위 자료형에 대해 이해한 내용을 바탕으로 포스팅하기

  • 리스트란?

 - 파이썬에서 리스트의 의미는 여라가지 자료를 저장할 수 있는 자료 이다.

 - 대괄호인 "[]"안에 다양한 요소(숫자, 문자열, 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번 문제의 답 쓰고 인증샷