gpt4 book ai didi

python - Python 3 字典没有 has_key() 方法

转载 作者:太空狗 更新时间:2023-10-30 00:24:29 24 4
gpt4 key购买 nike

我阅读了“Python Cookbook”,并在“查找两个字典的交集”一节中看到了作者推荐使用这种单行代码的内容:

filter(another_dict.has_key, some_dict.keys())

但由于 Python 3 词典没有 has_key() 方法,我应该如何修改建议的代码?我想可能有一些内部 __ in__() 方法或类似的方法。

有什么想法吗?

最佳答案

Python 3 改为使用字典键 View ,这是一个更强大的概念。你的代码可以写成

some_dict.keys() & another_dict.keys()

在 Python 3.x 中。这将两个字典的公共(public)键作为一个集合返回。

这在 Python 2.7 中也可用,使用方法 dict.viewkeys()

作为与原始代码更接近的匹配,您还可以使用列表理解:

[key for key in some_dict if key in another_dict]

与原始代码更接近的匹配是使用 dict.__contains__(),这是对应于 in 运算符的神奇方法:

filter(another_dict.__contains__, some_dict.keys())

但是请不要使用此代码。我建议使用第一个版本,这是唯一强调 some_dictanother_dict 之间对称性的版本。

关于python - Python 3 字典没有 has_key() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11051652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com