import sys IS_PY35 = sys.version_info >= (3, 5) def empty(): """ >>> empty() {} """ d = {} return d def keyvalue(key, value): """ >>> keyvalue(1, 2) {1: 2} """ d = {key:value} return d def keyvalues(key1, value1, key2, value2): """ >>> sorted(keyvalues(1, 2, 3, 4).items()) [(1, 2), (3, 4)] """ d = {key1:value1, key2:value2} return d def keyvalues2(key1, value1, key2, value2): """ >>> sorted(keyvalues2(1, 2, 3, 4).items()) [(1, 2), (3, 4)] """ d = {key1:value1, key2:value2,} return d def constant(): """ >>> len(constant()) 2 >>> print(constant()['parrot']) resting >>> print(constant()['answer']) 42 """ d = {u"parrot":u"resting", u"answer":42} return d def dict_call(): """ >>> print(dict_call()['parrot']) resting >>> print(dict_call()['answer']) 42 """ d = dict(parrot=u"resting", answer=42) return d def dict_call_dict(): """ >>> print(dict_call_dict()['parrot']) resting >>> print(dict_call_dict()['answer']) 42 """ d = dict(dict(parrot=u"resting", answer=42)) return d def dict_call_kwargs(): """ >>> print(dict_call_kwargs()['parrot1']) resting >>> print(dict_call_kwargs()['parrot2']) resting >>> print(dict_call_kwargs()['answer1']) 42 >>> print(dict_call_kwargs()['answer2']) 42 """ kwargs = dict(parrot1=u"resting", answer1=42) d = dict(parrot2=u"resting", answer2=42, **kwargs) return d def items_of_dict_call(): """ >>> items_of_dict_call() [('answer1', 42), ('answer2', 42), ('parrot1', 'resting'), ('parrot2', 'resting')] """ kwargs = dict(parrot1="resting", answer1=42) items = dict(kwargs.items(), parrot2="resting", answer2=42, **kwargs).items() return sorted(items) def item_creation_sideeffect(L, sideeffect, unhashable): """ >>> def sideeffect(x): ... L.append(x) ... return x >>> def unhashable(x): ... L.append(x) ... return [x] >>> L = [] >>> item_creation_sideeffect(L, sideeffect, unhashable) # doctest: +ELLIPSIS Traceback (most recent call last): TypeError: ...unhashable... >>> L [2, 4] >>> L = [] >>> {1:2, sideeffect(2): 3, 3: 4, unhashable(4): 5, sideeffect(5): 6} # doctest: +ELLIPSIS Traceback (most recent call last): TypeError: ...unhashable... >>> L if IS_PY35 else (L + [5]) [2, 4, 5] """ return {1:2, sideeffect(2): 3, 3: 4, unhashable(4): 5, sideeffect(5): 6}