gpt4 book ai didi

python - 为什么使用 dict.keys?

转载 作者:IT老高 更新时间:2023-10-28 22:21:59 32 4
gpt4 key购买 nike

我最近写了一些看起来像这样的代码:

# dct is a dictionary
if "key" in dct.keys():

但是,我后来发现我可以通过以下方式获得相同的结果:

if "key" in dct:

这个发现让我开始思考,我开始运行一些测试,看看是否存在我必须使用字典的 keys 方法的场景。然而我的结论是不,没有。

如果我想要列表中的键,我可以这样做:

keys_list = list(dct)

如果我想遍历键,我可以这样做:

for key in dct:
...

最后,如果我想测试一个键是否在 dct 中,我可以像上面那样使用 in

总结一下,我的问题是:我错过了什么吗?会不会出现我必须使用 keys 方法的情况?...或者它只是早期安装 Python 的遗留方法,应该被忽略?

最佳答案

在 Python 3 上,使用 dct.keys() 获取 dictionary view object ,它允许您只对键进行设置操作:

>>> for sharedkey in dct1.keys() & dct2.keys():  # intersection of two dictionaries
... print(dct1[sharedkey], dct2[sharedkey])

在 Python 2.7 中,您可以使用 dct.viewkeys()

在 Python 2 中,dct.keys() 返回一个列表,即字典中键的副本。这可以围绕一个单独的对象传递,该对象可以自行操作,包括在不影响字典本身的情况下删除元素;但是,您可以使用 list(dct) 创建相同的列表,它适用于 Python 2 和 3。

您确实不希望其中任何一个用于迭代或成员测试;始终分别使用 for key in dctkey in dct 来表示它们。

关于python - 为什么使用 dict.keys?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17634177/

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