brunch

You can make anything
by writing

C.S.Lewis

by Moai Oct 03. 2020

Python 딕셔너리와 리스트

앞에서 Json을 공부했다면 딕셔너리와 리스트는 쉽게 이해할 수 있을 것이다.

Python도 생긴 지 얼마 안 된 언어이므로 JSON형식을 지원한다. JSON형식 자료형에는 리스트와 오브젝트라는 것이 있는데 파이썬에서는 오브젝트를 딕셔너리라고 한다.



리스트


선언

리스트는 my_list = []로 선언, my_list = [ 1, 2, 3 ]로 선언과 동시에 초기화할 수 있다.

어찌 보면 배열과 유사하지만 배열은 크기를 고정해야 하지만 리스트는 길이가 가변적이다. 또한 배열은 같은 자료형의 데이터만 넣을 수 있지만 리스트는 다른 자료형의 데이터를 넣을 수 있다.

my_list = [ '문자', 111, True ] 이런 식으로 값을 넣을 수 있다.


추가

더 넣고 싶다면 my_list.append('추가할 데이터') 함수를 이용하면 된다.

특정 위치에 값을 삽입하고 싶다면 my_list.insert(위치, 값) 함수를 이용하면 된다.


삭제

값을 삭제하고 싶다면 remove 함수를 이용하면 된다.

my_list = [ 1, 2, 3, 1]

my_list.remove(1)

이렇게 실행하면 my_list는 최초 1이 삭제되어 [ 2, 3, 1] 가 된다.

my_list = [ 1, 2, 3, 1]

my_list.pop(2)

이렇게 실행하면 3번째 값이 반환되면서 3이 삭제되어 [1, 2, 1]이 된다.

또는

del my_list [2]이렇게 삭제할 수 있다.

연달아 삭제하고 싶은 경우 del my_list[1:3] 이렇게 삭제하면 된다.


길이

리스트의 길이를 알고 싶다면 len(my_list) 함수를 이용하면 된다.


정렬

my_list.sort() my_list.reverse() 함수를 이용하자!


슬라이싱

my_list = [ 1, 2, 3, 4] 이렇게 값이 있을 때

my_list[1:3] 이렇게 하면 새로운 [ 2, 3] 리스트 만들어진다.

배열에는 없는 -1로 인덱싱을 할 수 있는데 마지막 위치를 의미한다.

my_list[-1]에는 4를 반환하고 my_list[2:-1]하면 my_list[2:3]이 되어 [3]을 반환한다.

my_list[-2]는 뒤에서 두 번째인 3을 반환하는데 잘 안 쓰이므로 패스하자


리스트 합치기

리스트는 간단하게 + 연산자를 통해 합칠 수 있다. list1 + list2


리스트 for 루프

my_list = [ 1, 2, 3, 4]

for data in my_list:

    print (data)


이렇게 실행하면

1

2

3

4

가 출력된다


my_list = [ 1, 2, 3, 4]

for index, data in enumerate (my_list):

    print (index, data)

이렇게 실행하면

0 1

1 2

2 3

3 4

가 출력된다


딕셔너리


선언

리스트는 my_dict = {}로 선언, my_dict = { 'name': 'moai', 'age': 32}로 선언과 동시에 초기화할 수 있다.

키와 값으로 이루어져 있다.


추가

my_dict['새로운 키']  = 값 으로 새로운 데이터를 넣을 수 있다.

예를 들어 my_dict[0] = 2, my_dict['blood'] = 'A' 이런 식으로 값을 넣을 수 있다. JSON은 키가 문자열만 가능했지만 파이썬의 딕셔너리는 키, 심지어 객체도 가능하다. 즉 키는 변경 불가능하지만 하면 된다.


삭제, 길이

리스트와 동일하다


정렬, 슬라이싱

pass


딕셔너리 합치기

my_dict1.update(my_dict2) 이렇게 update 함수로 합치면 된다.


딕셔너리 for 루프

my_dict = { 'name': 'moai', 'age': 32} 이렇게 선언되어 있다면?


for key, data in dict.items():

    print (key, data)

이렇게 실행하면

name moai

age 32

가 출력된다.


for key in dict.keys():

    print (key)

이렇게 실행하면

name

age

가 출력된다.


for data in dict.values():

    print (data)

이렇게 실행하면

moai

32

가 출력된다.


    

매거진의 이전글 JSON 제이슨 넌 누구냐
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari