美文网首页Python
dict.keys()和dict.items()对象的差并交运算

dict.keys()和dict.items()对象的差并交运算

作者: cook__ | 来源:发表于2018-09-28 15:49 被阅读16次

    问题引入:有两个字典,找出它们之间相同的地方

    a = {'x': 1, 'y': 2, 'z': 3}
    b = {'w': 10, 'x': 11, 'y': 2}
    a.keys()
    Out[3]: dict_keys(['y', 'x', 'z'])
    a.keys() & b.keys()
    Out[4]: {'x', 'y'}
    a.keys() - b.keys()
    Out[5]: {'z'}
    a.items() & b.items()
    Out[6]: {('y', 2)}
    

    通过差并交运算来创建一个新的字典:

    c = {key: a[key] for key in a.keys() - {'z': 3}}
    c
    Out[9]: {'x': 1, 'y': 2}
    

    总结:
    1、字典的keys()方法返回key-view对象,items()方法返回items-view对象;
    2、可以直接对key-view对象和items-view对象进行差并交运算,不必先转换为集合;
    3、字典的values()方法返回的对象不支持集合操作,可以先转换成集合,再进行差并交运算。

    相关文章

      网友评论

        本文标题:dict.keys()和dict.items()对象的差并交运算

        本文链接:https://www.haomeiwen.com/subject/vpjpoftx.html