티스토리 뷰

반응형

리스트와 딕셔너리는 파이썬을 사용하면서 가장 빈번하게 접하게 되는 자료형이다. 

 

1.  리스트 List = []

순서대로 저장하는 시퀀스이자 변경가능한 목록(Mutable List)

 

리스트 선언 방식

>>> a = list() or a = []

 

2. 딕셔너리 Dictionary

keyvalue 구조로 이루어진 딕셔너리를 말한다. 

 

 

딕셔너리 선언 방식 : 

>>> a = dicr() or a = {}

 

 

- 초기값으로 지정해 선언 

a = { 'key1' : 'valur1', 'key2: 'value2'} 
a
{ 'key1' : 'valur1', 'key2: 'value2'}

 

 

- 나중에 별도로 선언 

>>> a['key3'] = 'value3'
>>>a
{ 'key1' : 'valur1', 'key2': 'value2', 'key3' : 'value3'}

 

 

- 딕셔너리 삭제 

>>> del a['key1']

 

 

 

- key 에 대한 value가 없는 경우를 써야할 때 : collections.defaultdict

주의할 점은 존재하지 않는 키를 조회할 경우에는 에러가 발생한다는 것이다. 

>>>a['key1']
'value'

>>>a['key4']
Traceback (most recent call last): File "<stdin> ", line 4, in <module> print(a['key4']) KeyError: 'key4'

 

 

 

이런 에러를 나지 않게 하는 방법중 가장 좋은 방법은 특수한 형태의 컨테이너 자료형인 defaultdic을 사용하는 것이다.

 

파이썬의 내장모듈로 import가 필요하다. 

 

from collections import defaultdict

 

 # key의 value 값이 없다면, list([])를 기본 value로 설정해주세요.

>>> a = collections.defaultdic(list) 

>>> a

defaultdic(<class 'list'>, {})   

 # value가 없는 key1을 key로 선언   

>>> a['key1']

[]

# value가 있는 key2를 key로 선언 (기본적인 방식) 

>>> a["key2"] = "value2"

# value를 선언하지 않은 'key1'에 기본값으로 지정해주었던 list ([])가 들어갔다. 
>>> a

defaultdic(<class 'list'="">, { 'key1' : [] , 'key2' = 'value2'}

 

오늘 푼 알고리즘에서 가장 이해하기까지 오래걸렸던 부분이라 딕셔너리에 대한 내용이 더 많게 되었다. list도 필요하게 되면 그때 그때 추가하겠다. 왜냐면 알고리즘하나 이해하는데도 엄청난시간이 걸리기 때문이지..

 


알고리즘을 풀면서 쓰는 개념정리이기에 그 문제에 필요한 것들을 정리한다. 

여기까지 이해했고 파이썬 내장함수인 sorted() , join() 함수를 안다면 풀 수 있는 문제가 하나 생긴다.

 

배운걸로 알고리즘 풀어보기

 

!!!! 문제 풀기전 sorted(), join() 을 모른다면? !!!

이 밖에 더 필요한 개념들은 문제마다 필요한 개념의 링크를 첨부하겠다.

 

https://algoroot.tistory.com/51

 

[python] 파이썬 정렬 함수 sorted()

파이썬 정렬 함수 sorted() sorted()에 대해 가볍게 배우고 알고리즘 문제 풀어보기 숫자, 문자 모두 정렬이 가능하다.  >>> a = [2, 5, 1, 9, 7] >>> sorted(a) [1, 2, 5, 7, 9] >>> b = 'zbdaf' >>> sorted(b)..

algoroot.tistory.com

 

 

문제풀어보기

 

https://algoroot.tistory.com/49

 

[leetcode/python] 그룹 애너그램 (Group Anagrams) 풀이

https://leetcode.com/problems/group-anagrams/ 문제를 풀기 앞서 필자는 파이썬문법을 모르는 사람임을 밝힌다. 그래서 파이썬 문법,용어도 공부하면서 풀기에 글이 길어질 수 있으며, 필자와 같은 상황에

algoroot.tistory.com

 

 

반응형

'Python' 카테고리의 다른 글

[python] 파이썬 정렬 함수 sorted()  (0) 2022.03.12