세찬 바람이 부는 칼날 능선에 서면
인생은 바람이다.

혼자 공부하는 프로그래밍

혼공 3주차 과제(리스트, 딕셔너리, 범위 자료형)

갈뫼 2020. 7. 24. 16:16

  ※리스트

* 리스트 : 인덱스를 기반으로 여러가지 자료를 저장할 수 있는 자료형

*요소(element) : 리스트 내부에 있는 각각의 내용(숫자, 문자 혼용 가능)

*인덱스(index) :  리스트 내부에서 값의 위치 list_a[0]

       (인덱스는 0부터 시작, 음수를 넣어 뒤에서부터 list_a[-1] 지정할 수 있음 -3, -2, -1)

* 리스트 선언 : 대괄호 안에 [1, 2, 3, 4]  자료를 쉼표로 구분해서 입력

 

>>> list_a = [273, 32, 103, "문자열", True, False]

>>> list_a[0] ---> 273   : 인덱스는 0부터 시작

>>> list_a[-1] ---> False  : 인덱스를 음수로 표현해서 뒤에서 접근

>>> list_a[3][0] ---> '문' : 리스트 접근 연산자를 이중으로 사용 가능.

>>> list_a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]   ---> 리스트 안에 리스트 사용가능

>>> list_a[1] ---> [4, 5, 6]

>>> list_a[0][1] ---> 2

 

* 리스트 연산자 :  list_a = [1, 2, 3]  list_b = [4, 5, 6]

     연결(+) : >>> list_a + list_b --->  [1, 2, 3, 4, 5, 6]

     반복(*) : >>> list_a * 3 --->  [1, 2, 3, 1, 2, 3, 1, 2, 3]

     리스트 길이: >>>  len( list_a) ---> 3

     리스트 내부에 있는지 확인: >>> 2 in list_a ---> True 

                                         >>> 2 not in list_a ---> False  

* 리스트 함수 :   list_a = [1, 2, 3] , list_c = [1, 2, 1, 2] 

     요소 추가하기: >>>  list_a.append(4) --->  [1, 2, 3, 4] , >>>  list_a.insert(0, 10)--->  [10, 1, 2, 3]

     여러개의 요소 추가하기: >>>  list_a.extend[4, 5, 6] --->  [1, 2, 3, 4, 5, 6]

     인덱스로 요소 제거하기: >>> del list_a[1] --->  [ 2, 3 ],   >>>  list_a.pop(2) --->  [1, 3]

     값으로 요소제거하기: >>>  list_c.remove(2 ) --->  [1, 1, 2] 앞의 2만 제거하므로 뒤의 2도 제거하려면 반복문 사용.

     모두 제거하기: >>>  list_a.clear( ) --->  [ ] 요소가 모두 제거됨

* 확인 문제 : list_a = [0, 1, 2, 3, 4, 5, 6, 7]

   >>> list_a.extend[list_a] --->  [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7]

   >>> list_a.append(10) --->  [0, 1, 2, 3, 4, 5, 6, 7, 10]

   >>> list_a.insert(3, 0) --->  [0, 1, 2, 0, 3, 4, 5, 6, 7]

   >>> list_a.remove(3) --->  [0, 1, 2,   4, 5, 6, 7]

   >>> list_a.pop(3) ---> [0, 1, 2,   4, 5, 6, 7]  

   >>> list_a.clear( ) --->  [ ] 요소가 모두 제거됨

※딕셔너리

*딕셔너리(dictionary) : 키를 기반으로 여러 자료를 저장하는 자료형

*키(key) : 딕셔너리 내부에서 값에 접근할 때 사용하는 것

*값(value) : 딕셔너리 내부에 있는 각각의 내용을 의미

 

 * 딕셔너리 선언

변수 = {

      키 : 값,

      키 : 값,

        ......   

      키 : 값,

}

>>> dict_a = {

          "name": "어벤저스 게임",

          "type": "히어로 무비"

}

* 딕셔너리 요소에 접근하기

>>> dict_a

{ 'name': '어벤저스 게임', 'type': '히어로 무비'}

>>> dict_a["name"]

'어벤저스 게임'

>>> dict_a["type"]

'히어로 무비'

* 딕셔너리 요소에 값 추가하기

>>> dict_a["price"] = 5000

{ 'name': '어벤저스 게임', 'type': '히어로 무비','price': 5000 }

* 딕셔너리 요소에 값 변경하기

>>> dict_a["price"] = 8000

{ 'name': '어벤저스 게임', 'type': '히어로 무비','price': 8000 }

* 딕셔너리 요소에 값 제거하기

>>> del dict_a["price"] 

{ 'name': '어벤저스 게임', 'type': '히어로 무비'}

* 딕셔너리 내부에 키가 있는지 확인하기

name in dict_a : dict_a 딕셔너리에 "name" 키가 있는지 확인

value = dice_a.get("name") 딕셔너리에 "name" 키가 있으면 출력하고 없으면 value 값이 None 출력

 

* 범위

* range()함수

>>>list( range(10) ) ---> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] : 0부터 10-1까지 정수

>>>list( range(0,5) ) ---> [0, 1, 2, 3, 4]  : 0부터 5-1까지 정수

>>>list( range(5,10) ) ---> [5, 6, 7, 8, 9] : 5부터 10-1까지 정수

 

* for 반복문

for i in range(5): ---> i 가 0 부터 4까지 반복함.

for i in range(5,10): ---> i 가 5 부터 9까지 반복함.

for i in range(0,10,3): ---> i 가 0 , 3, 6, 9까지 3씩 커지며반복함.

for i in range(4, 0-1, -1): ---> i 가 4 부터 0까지 1씩 줄어들며 반복함.

for i reversed(range(5)): ---> i 가 4 부터 0까지 1씩 줄어들며 반복함.