4 from typing import Iterable, List, Optional, Set
7 class grab_bag(object):
8 def __init__(self) -> None:
9 self.contents: Set[str] = set()
11 def clear(self) -> None:
14 def add(self, item: str) -> None:
15 if item not in self.contents:
16 self.contents.add(item)
18 def add_all(self, collection: Iterable[str]) -> None:
22 def subset(self, count: int) -> Optional[List[str]]:
23 if len(self.contents) < count:
25 subset = random.sample(self.contents, count)
28 def size(self) -> int:
29 return len(self.contents)
33 # x.add_all([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])