파이썬/리스트, 딕셔너리5 defaultdict: list를 다뤄보자 프로그래머스의 '위장'이라는 문제를 풀다가 딕셔너리가 리스트로 할 수 있다는 사실을 배웠다. 코딩테스트 연습 - 위장 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 위장 programmers.co.kr clothes = [["yellowhat", "headgear"], ["bluesunglasses", "eyewear"], ["green_turban", "headgear"]] clothes의 상황을 보면 clothes는 2차원 리스트인데 clothes의 행마다 2가지 정보로 나열 되어있다. 하나는 옷 이름이며, 다른 하나는 카테고리이다. 우리는 카테고리: 카테고리에 해당하는 옷들 이런식으로 정렬하고 싶다. {headgear' : ['yellowhat', 'green_turban'.. 2022. 2. 27. defaultdict에 대하여 collection이란 모듈에는다양한 라이브러리들이 있다. 그중에서 딕셔너리와 비슷한defaultdict를 써보려고 한다. from collections import defaultdict d = defaultdict(int) 과정 1. 컬렉션에서 딕셔너리를 가져온다. 2. 변수를 지정하고 defaultdict()를 한다음 안에 value의 값의 형태를 지정해주면 된다. 활용) 모듈에서 counter()처럼 이용할 수 있다. d = defaultdict(int) list_example = [1, 2, 1, 1, 2, 3] for number in list_example: d[number] += 1 print(d) 이렇게 만드는 순간! 딕셔너리처럼 원소를 생성할 수 있다. 과정) 1. 리스트에서 number.. 2022. 2. 23. 빈 리스트 확인 법 stack에는 is_empty()라는 기능이 있다. 스택이 비어있는지 확인하는 기능이다. 파이썬에는 없다. 리스트가 비어있는지 어떻게 확인할까? a = [] if len(a) == 0: print("Empty") 제일 쉬운 방법은 이것이다. 하지만 이건 멋있지 않다. 멋있는 방법: a = [] if not a: print("Empty") if not 리스트: 이걸로 리스트가 비었는지 쉽게 확인할 수 있다. list1 = [] list2 = [1, 2, 3] item = 1 if item not in list1: print("list1 has no item") if item in list2: print("list2 has item") 그외) 문자열의 find와 비슷한 기능이다. item이 있으면 리스트와 .. 2022. 2. 13. 리스트 슬라이싱 리스트 슬라이싱이란 리스트에서 원하는 인덱스에 해당하는 원소를 꺼내는 일이다. L[0] L의 제일 처음 원소를 반환 1 L[1] L[1]은 1번째 원소 2 L[-1] L[-1]은 L의 마지막 원소가 나온다. 7 마지막 인덱스는 얼마일까? 그건 바로 len(L)-1이다! 리스트의 길이에서 1을 빼면 된다. 왜? 0을 포함하기 때문이다. L[0:4] 이것은 L의 0번째 원소부터 3번째 원소까지 나온다. 0이상 4미만이라는 점을 잊지말자. L[:] 이것은 L의 모든 원소를 반환한다. L[::-1] 이 의미는 L이란 리스트의 모든 원소를 거꾸로 출력한다는 뜻이다. 그외) boolean slicing boolean slicing이란 리스트내에서 해당 원소의 조건을 만족하는 원소를 반환한다. 2022. 2. 12. 이전 1 2 다음