import itertools
li = list(itertools.permutations(list, num))
iterator를 돌려주기 때문에 list로 감싸주어야 한다.
from collections import defaultdict
d = defaultdict(list) # 이런식으로 dict의 value의 형식을 지정하면서 생성가능
d1 = sorted(d.items()) # 이렇게 정렬가능!
from collections import deque
queue = dict(list)
queue.append(1)
queue.popleft() # 앞에서부터 방출
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))
사용 방법좀 명확하게 다시 알고 있어야 나중에 실전에서 사용가능 할 듯 하다.
이런 유용한 정보를 나눠주셔서 감사합니다.