중요 라이브러리 정리

EHminShoov2J·2023년 8월 7일
0
post-thumbnail

itertools

1. permutations

import itertools
li = list(itertools.permutations(list, num))

iterator를 돌려주기 때문에 list로 감싸주어야 한다.

2. combinations

3. combinations_with_replacement


collections

1. defaultdict

from collections import defaultdict

d = defaultdict(list) # 이런식으로 dict의 value의 형식을 지정하면서 생성가능

d1 = sorted(d.items()) # 이렇게 정렬가능!

2. deque

from collections import deque

queue = dict(list)
queue.append(1)
queue.popleft() # 앞에서부터 방출 

PriorityQueue

from queue import PriorityQueue

# 생성 
q = PriorityQueue()
# 추가
q.put(내가 원하는 원소)
# 최소값 추출 
q.get()

#list 기반이 아닌 것으로 추정 
while q.empty():
	~~~
# 위와 같은 구조로 수행해야함. 

하지만 위와 같이 사용하는 경우 내가 원하는 기준으로 정렬을 진행할 수 없다.
추가 정렬 기준을 제공하기 위해서는 다음과 같이 진행하여야 한다. (https://lovedh.tistory.com/entry/Python-Priority-Queue%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84-%ED%81%90-%EA%B0%9D%EC%B2%B4-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0)

class Data:
    def __init__(self, number, name, nickname):
        self.number = number
        self.name = name
        self.nickname = nickname

    def __lt__(self,other): 
        return self.name < other.name #객체의 name을 비교한다!

q.put(Data(5, '도롱뇽', '바보'))
q.put(Data(2, '개구리', '쩜프'))
q.put(Data(3, '효도르', '주먹'))
q.put(Data(1, '박효신', '신'))

while not q.empty():
    inst = q.get()
    print((inst.number, inst.name, inst.nickname))

map() 과 zip()


list

  • list.count(내가 원하는 값) >> 찾고자 하는 값의 개수를 돌려준다.
  • list.index(내가 원하는 값) >> 찾고자 하는 값의 index 리턴
  • list.remove(내가 원하는 값) >> 처음으로 나오는 원하는 값을 제거
  • list.pop(idx) >> index 값에 해당하는 원소 제거

global

사용 방법좀 명확하게 다시 알고 있어야 나중에 실전에서 사용가능 할 듯 하다.

2개의 댓글

comment-user-thumbnail
2023년 8월 7일

이런 유용한 정보를 나눠주셔서 감사합니다.

1개의 답글

관련 채용 정보