Irit Katriel <iritkatr...@gmail.com> added the comment:
Indeed, as Terry wrote the assumption is that header is a mapping (not necessarily a dict). It is not hard to implement a Multimap that has this API: import collections.abc class Multimap(collections.abc.Mapping): def __init__(self): self.data = collections.defaultdict(list) def __getitem__(self, key): return self.data[key] def __setitem__(self, key, value): self.data[key].append(value) def __iter__(self): yield from self.data def items(self): for k in list(self.data.keys()): for v in list(self.data[k]): yield (k,v) def __len__(self): return sum([len(v) for v in self.data.values()]) mm = Multimap() mm['1'] = 'a' mm['1'] = 'aa' mm['1'] = 'aaa' mm['2'] = 'b' mm['3'] = 'c' mm['3'] = 'cc' print(f'len = {len(mm)}') print(f'mm.items() = {list(mm.items())}') Output: len = 6 mm.items() = [('1', 'a'), ('1', 'aa'), ('1', 'aaa'), ('2', 'b'), ('3', 'c'), ('3', 'cc')] ---------- nosy: +iritkatriel resolution: out of date -> not a bug stage: -> resolved status: open -> closed _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue3276> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com