gpt4 book ai didi

python - 为什么Python需要丰富的比较?

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

有一段时间我有一个困惑:Python中有没有确实需要使用富比较的场景?

我阅读了官方文档 here ,但它只给出了它的工作原理,而不是我们需要它的原因。

文档片段:

The truth of x==y does not imply that x!=y is false. may describe a scene that we need rich comparison. In this scene, we can make __eq__ and __ne__ both return False for disabling the comparsion or any other purpose. (We can implement this by using __cmp__)

但这只是猜测,我还没有在实际项目中遇到过这样的需求。

是否有人确实需要使用丰富比较,或者是否有任何其他场景我们需要在理论上使用丰富比较?

也许我的 x==yx!=y 示例引起了一些混淆,对此深表歉意。让我说得更清楚一点:
是否存在丰富比较可以提供帮助但 __cmp__ 无济于事的情况?

最佳答案

NumPy使用丰富的比较向量化 == , != , <等,就像它对大多数其他运营商所做的那样。例如,

>>> x = numpy.array([1, 2, 3, 4, 5])
>>> y = numpy.array([2, 2, 1, 4, 4])
>>> x == y
array([False, True, False, True, False], dtype=bool)

当数组 xy与任何比较运算符进行比较,NumPy(粗略地)按元素应用运算符并返回结果数组。这很有用,例如,将操作应用于 x 的单元格。符合条件:

>>> x[x==y] = 6
>>> x
array([1, 6, 3, 6, 5])

在这里,我选择了 x 的所有元素等于 y 的对应元素, 并设置它们等于 6.

关于python - 为什么Python需要丰富的比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20989750/

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