본문 바로가기

Back-End/Python

[Python]파이썬 변수 - 숫자, 문자열, 리스트, 튜플(2)

~ 목차 ~

3. 복합형 : 클래스, 배열, 리스트, 딕셔너리

  • 리스트
  • 딕셔너리

 

[리스트]

- 요소들의 모음을 나타내는 자료형.
- 요소들은 []로 감싼다.
- 모든 자료형을 담을 수 있다.

리스트 표현

※ list안에 list 넣을 수 있다!

  • 인덱싱

인덱싱

  • 리스트 연산
 + 연산자 : 순서대로 연결하여 하나의 리스트로 만듬
 * 연산자 : 곱하는 수 만큼 반복하여 하나의 리스트로 만듬

리스트 연산

 

  • 리스트 내용 수정 (index 사용)

리스트 내용 수정

 

  • 리스트 함수
- len : 리스트 길이를 반환
- sum, min, max 함수 : 리스트 요소의 총합, 최소값, 최댓값
- in : 특정 요소가 리스트에 있는지 확인하는 함수
- append : 맨 마지막에 요소 추가 
- extend : 맨 마지막에 다른 리스트를 추가
- insert : 특정 위치에 요소를 삽입한다.
- remove, pop : 리스트의 요소를 삭제
- join : 리스트의 요소들을 하나의 문자열로 합침.
- split : 문자열을 리스트의 요소들로 나눈다.

len, sum, min, max

 

in, find

※ in은 true, false 값으로 return

※ find는 index값으로 return

append, extend, insert, split

※append는 요소 추가

※extend는 리스트 추가

※insert는 특정 위치에 추가

※ split, join은 리스트[] 형태에서는 불가능! 문자열' ' 형태에서만 가능!

remove, pop, del, clear

 

※ remove : 값을 입력받아 리스트에 값이 존재할 경우 값을 삭제한다

pop : index를 입력받아 리스트에서 해당 index에 존재하는 값을 삭제한다

    - index를 입력하지 않는 경우 리스트의 마지막 요소가 삭제된다 →stack에서 유용하게 사용가능

※ clear : 리스트의 모든 요소를 삭제한다

※ del : 리스트의 인덱스를 입력받아 리스트의 값을 삭제한다 , 단 del a[ ] 이런 형태로 표현


[튜플]

- 리스트와 같다.
- 수정 불가능 (불변성)
- 리스트보다 빠르다.
- 반복문 돌릴 때 빠르게 하기 위해 튜플을 많이 씀
- [] x () o
- append, insert, extend, remove, pop, sort 는 사용 할 수 없다.

 

a = (1, 2, 3, 4)
print(a, type(a))

튜플

 

튜플은 값을 수정 할 수 없다!


[딕셔너리]

  • Key(키) : Value(값) 쌍이 모여있는 형태 => 프로퍼티 형식
  • Key : Value 들을 { }로 감싼다.
  • 변수명 = {'Key': Value, ... 'Keyn': Valuen}
  • Key는 중복될 수 없다. 리스트를 키로 사용 할 수 없다.
  • 위치로 인덱싱이 되지 않는다.
  • 리스트랑 비슷한 형태 근데 왜 쓸까?
    • 리스트는 인덱스를 써서 정보를 불러와야 하는데 인덱스는 외워서 써야하기 때문에 사용하기 불편함
    • 딕셔너리는 데이터에 이름을 정해 불러내기 편 (데이터를 좀 더 명시적으로 표현하기 위하여)
dic = { 
    'name' : ['Merry', 'John'],
    'num' : [ 1, 2, 3, 4 ],
    'birth' : ['jan', 'feb', 'nov']    
}
dic

 

딕셔너리 예

 

  • 키를 리스트 형식으로 쓸 경우 (error)
#키 쓸 때는 리스트 형식으로 쓰지 말 것
{['name', 'age'] : ['merry', 30]}

 

키를 리스트 형식으로 쓸 때

 

  • 키를 이용해 값들을 불러오기
print(dic)
print(dic['name'])
print(dic['name'][1])

키에 해당하는 값들을 가져오기

 

  • 새로운 쌍 생성
dic['country'] = 'korea'
dic['age'] = [20, 30, 40, 50]
dic

 

새로운 key : value 생성

 

  • 내용 수정
dic['age'][3] = 55
dic

내용 수정

 

※ 키 잘못 쓴 경우(오타) -> 새로운 키 벨류 생김, 따라서 키 쓸때 항상 조심!! 

  • 키벨류 삭제
del(dic['age'])

 

  • 딕셔너리 함수
    • keys() : 키들을 반환
    • values() : 값들을 반환
    • items() : 키와 값을 튜플로 반환
    • get('원하는키') : 키값에 대응하는 값을 반환
    • zip : 튜플/리스트 두개를 하나의 딕셔너리로 변환 (dict와 함께 사용)

딕셔너리 함수

 

 

  • 딕셔너리 type

type : dict_keys >> list

 

  • 파이썬 반복문
for k, v in dic.items():
    print('key' , k)
    print('value', v)

 

반복문으로 딕셔너리 나타내기

 

  • zip으로 하나로 합치기
    • 조건 : 키, 벨류 길이가 같아야함 (len)
    • zip만 하면 코드 형태로 출력되니까 dict를 해줘야함
keys = ('a', 'b')
values = (1, 2)
#zip
print(zip(keys, values))
#dict
result = dict(zip(keys, values))
print(result)

zip활용

 


<파이썬 코드 공부할 때 시각화로 볼 수 있는 사이트> 

 

파이썬 튜터 : https://pythontutor.com/

 

Online Python Tutor - visualize, debug, get AI help for Python, Java, C, C++, and JavaScript

Online Compiler, Visual Debugger, and AI Tutor for Python, Java, C, C++, and JavaScript Python Tutor helps you do programming homework assignments in Python, Java, C, C++, and JavaScript. It contains a unique step-by-step visual debugger and AI tutor to he

pythontutor.com

 

728x90