본문 바로가기

파이썬10

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.
for 문에 관하여 list_num = [1, 2, 3] for num in list_num: print(num) list_num에서 num을 따와서 print하는 예시이다. for i in range(3): 0이상 3미만을 의미한다. for i in range(1, 3): 1부터 3미만을 의미한다. for i in range(1, 7, 2): 그럼 이건??? 1이상 7미만 2씩 증가를 의미한다. 1 3 5가 순차적으로 나온다. list_num = [1, 2, 3, 4] for num in list_num: for i in range(1, 10, num): print(i) for문을 이해하기 좋은 코드인것 같다. 이렇게 list_num에서 num이란걸 받고 1부터 10까지 num씩 증가한다는 표현이 가능하다. list_nu.. 2022. 2. 23.
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.
리스트안에 있는 각기다른 문자열을 통합하기 문자열들이 리스트안에서 따로따로 있다. list_str = ['a', 'b', 'c', 'd'] 이걸 'abcd'로 한번에 통합하고 싶다. 어떻게 할까? answer = "" for i in range(len(list_str)): answer += list_str[i] return answer 문자열도 리스트처럼 문자열끼리 더해질 수 있다. "a" + "b" = "ab"가 된다. 리스트에서 하나씩 꺼내서 문자열에 더했다. (리스트에서 append 느낌) 이 방법은 무난하지만 파이썬이 보기에는 멋있지 않다! 어떻게 해야 멋있을까? .join()이라는 함수를 이용하자! .join()은 리스트 사이의 원소를 붙이는 역할을 한다(리스트의 원소가 str인 경우에만). "".join()을 사용한다. list_str.. 2022. 2. 13.