카테고리 없음
[python] 딕셔너리 pop + 순차적으로 pop하기
3pie
2024. 1. 3. 16:25
파이썬에서 제공하는 기본 딕셔너리는 처음들어온 순서대로 pop하는기능을 제공하고 있지 않다.
그래서 아래와같은 방법으로 활용하면 딕셔너리를 추가된 순서대로 pop하는게 가능하다
from collections import OrderedDict
class OrderedSetDict(OrderedDict):
def pop_first(self):
if self:
print(f'self : {self}')
first_key = next(iter(self))
first_value = self.pop(first_key)
return first_key, first_value
else:
# 딕셔너리가 비어있을 경우 예외 처리 또는 기본값 반환 등을 수행할 수 있습니다.
return None, None
# OrderedSetDict를 사용하여 처음 추가된 항목 제거
my_ordered_dict = OrderedSetDict()
my_ordered_dict['a'] = 1
my_ordered_dict['b'] = 2
my_ordered_dict['c'] = 3
popped_key, popped_value = my_ordered_dict.pop_first()
print(f'Popped Key: {popped_key}, Popped Value: {popped_value}')