Sem querer ficar do lado de um ou do outro, abaixo o resultado do teste que eu fiz:
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.keys()
>>> values = dishes.values()
>>> n = 0
>>> for val in values:
n += val
>>> print(n)
504
>>> list(keys)
['spam', 'bacon', 'sausage', 'eggs']
>>> list(values)
[500, 1, 1, 2]
>>> del dishes['eggs']
>>> del dishes['sausage']
>>> list(keys)
['spam', 'bacon']
>>> keys & {'eggs', 'bacon', 'salad'}
{'bacon'}
>>> keys ^ {'sausage', 'juice'}
{'spam', 'bacon', 'sausage', 'juice'}
>>>
A última resposta é diferente do que está na página:
{'juice', 'eggs', 'bacon', 'spam'}A diferença em relação ao apresentado pelo Leonardo são as remoções de 'eggs' e 'sausage', feitas no exemplo anterior.
del dishes['eggs']
del dishes['sausage']
DQ