Collections (Python)
These are some resources on how to use the collections Python package.
defaultdict(type)
from collections import defaultdict
counter = defaultdict(int)
counter["sheep"] += 1
print(counter["sheep"]) # 1
print(counter["dog"]) # 0
Will allow builtin methods based on the default type. defaultdict(int) will allow a += 1 on any key and it will be defined immediately if doesn't exist; (set) will allow .add(value) to a set and will create it if none exists, etc.
deque
from collections import deque
cards = [1,2,3,4]
deck = deque(cards)
top_card = deck.popleft()
deck.append(top_card)
# cards == [2,3,4,1]
If you need a copy of the deque, you will need to import the copy.deepcopy method, as slices don't work. If you need to slice, you can use itertools.islice.
Note that if you are looking for a queue, you can use a standard list as a queue by using list.pop(0) and list.append(item). It is much faster and requires no imports.
References
Last modified: 202401040446