gpt4 book ai didi

python - 为什么 Python 将元组、列表、集合和字典视为根本不同的东西?

转载 作者:IT老高 更新时间:2023-10-28 20:33:28 24 4
gpt4 key购买 nike

我喜欢 Python 的原因之一是元组、列表、集合和字典提供的表达能力/减少了编程工作量。一旦你理解了列表推导和一些使用 infor 的基本模式,生活就会变得更好! python 摇滚。

但是,我确实想知道为什么这些构造会被如此不同地对待,以及随着时间的推移这种情况如何变化(变得陌生)。回到 Python 2.x,我可以提出一个论点,它们都只是基本集合类型的变体,而且有些非异国情调的用例要求您将字典转换为列表并返回,这有点令人恼火再次。 (字典不只是具有特定唯一性约束的元组列表吗?列表不只是具有不同类型唯一性约束的集合吗?)。

现在在 3.x 世界中,它变得更加复杂。现在有了命名元组——开始感觉更像是一个特例字典。现在有有序的字典——开始感觉更像一个列表。我刚刚看到了一个订购套装的食谱。我可以想象这种情况一直在发生......唯一列表等呢?

Python 的禅宗说:“应该有一种——最好只有一种——明显的方式来做到这一点”。在我看来,大量的专用集合类型与这条 Python 规则相冲突。

铁杆 Python 达人是怎么想的?

最佳答案

这些数据类型都有不同的用途,在理想情况下,您也许可以将它们更加统一。然而,在现实世界中,我们需要对基本集合进行高效的实现,例如排序会增加运行时损失。

命名元组主要是为了让stat()之类的接口(interface)更好用,在处理SQL行集时也能很好用。

您正在寻找的大统一实际上就在那里,以不同的访问协议(protocol)(getitem、getattr、iter...)的形式存在,这些类型将它们混合并匹配以达到其预期目的。

关于python - 为什么 Python 将元组、列表、集合和字典视为根本不同的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6948383/

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