gpt4 book ai didi

python - set() 中可以使用命名元组吗?

转载 作者:行者123 更新时间:2023-12-05 06:08:18 24 4
gpt4 key购买 nike

我知道 namedtuple 是一个工厂函数,用于创建具有不可变数据字段的类。我假设它们是可散列的,以便它们可以成套使用。我担心的是是否存在与在集合中使用命名元组相关的陷阱。例如如果有嵌套的 namedtuple 会有问题吗?

最佳答案

是的,它们是可散列的,并且可以在集合中使用,例如元组
问题是可变对象的元组可以在您的下方发生变化。

在这方面,由不可变对象(immutable对象)组成的元组是安全的。

不确定这是不是陷阱,但值得注意@user2357112supportsMonica 在评论中的评论:

The other gotcha is that a namedtuple is still a tuple, and its__hash__ and __eq__ are ordinary tuple hash and equality. A namedtuple will compare equal to ordinary tuples or instances of unrelatednamedtuple classes if the contents match.

关于python - set() 中可以使用命名元组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65137741/

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