operation interpretation {empty dictionary {'name''bob''age' two-item dictionary {'cto'{'name''bob''age' }nesting dict(name='bob'age= alternative construction techniquesd dict([('name''bob')('age' )]keywordskey/value pairszipped key/value pairskey lists dict(zip(keyslistvalueslist) dict fromkeys(['name''age'] ['name'indexing by key ['cto']['age''agein membershipkey present test keys(methodsall keysd values(all valuesd items(all key+value tuplesd copy(copy (top-level) clear(clear (remove all items) update( merge by keysd get(keydefault?fetch by keyif absent default (or none) pop(keydefault?remove by keyif absent default (or errord setdefault(keydefault?fetch by keyif absent set default (or none) popitem(remove/return any (keyvaluepairetc len(dlengthnumber of stored entries [key adding/changing keys del [keydeleting entries by key list( keys()dictionary views (python xd keys( keys( viewkeys() viewvalues(dictionary views (python {xx* for in range( )dictionary comprehensions (python dictionaries in action as table - suggestsdictionaries are indexed by keyand nested dictionary entries are referenced by series of indexes (keys in square bracketswhen python creates dictionaryit stores its items in any left-to-right order it choosesto fetch value back lists and dictionaries