here it' enough to know that we have to run the results of these three methods through the list built-in if we want to apply list operations or display their values for examplein python (other version' outputs may differ slightly) dict( = = = {' ' ' ' ' ' keys( dict_keys([' '' '' ']list( [' '' '' 'makes view object in xnot list values( dict_values([ ]list( [ ditto for values and items views force real list in if needed items(dict_items([(' ' )(' ' )(' ' )]list( items()[(' ' )(' ' )(' ' ) [ list operations fail unless converted typeerror'dict_keysobject does not support indexing list( )[ 'bapart from result displays at the interactive promptyou will probably rarely even notice this changebecause looping constructs in python automatically force iterable objects to produce one result on each iterationfor in keys()print(kb iterators used automatically in loops in addition dictionaries still have iterators themselveswhich return successive keys--as in xit' still often not necessary to call keys directlyfor key in dprint(keyb still no need to call keys(to iterate unlike ' list resultsthoughdictionary views in are not carved in stone when created--they dynamically reflect future changes made to the dictionary after the view object has been createddictionaries in action