文档说值视图不被视为 set-like,但有时它们是:
>>> d = {1: 1}
>>> d.values() | d.keys()
{1}
>>> d.values() & d.keys()
{1}
>>> d.values() - d.keys()
set()
为什么要实现集合返回集合语义,但会因实际集合而失败?
>>> d.values() - {1}
TypeError: unsupported operand type(s) for -: 'dict_values' and 'set'