If speed matters, use the extension to add the key, value pairs to the empty list:
l=[] for t in sorted(d.items()): return l.extend(t) >>> d={'key1':'val1','key2':'val2'} >>> l=[] >>> for t in sorted(d.items()): ... l.extend(t) ... >>> l ['key1', 'val1', 'key2', 'val2']
Not only faster, this form is easier to add logic for each key pair, values.
Speed ββComparison:
d={'key1':'val1','key2':'val2'} def f1(): l=[] for t in d.items(): return l.extend(t) def f2(): return [y for x in d.items() for y in x] cmpthese.cmpthese([f1,f2])
Print
rate/sec f2 f1 f2 908,348
source share