gpt4 book ai didi

python - 如何使用类似 numpy nd 数组创建数据结构

转载 作者:行者123 更新时间:2023-12-01 00:01:24 24 4
gpt4 key购买 nike

我有下一个功能:

def check_smaller_zeros(v):
return v < 0

当我使用 numpy 创建数组时,我可以编写下一个代码来进行逐个元素的测量:

v_1 = numpy.array([1, 2, -4, -1])
result = check_smaller_zeros(v_1)
# result: [False, False, True, True]

但是当我尝试使用元组、集合、frozenset 和列表/数组重复它时,会出现下一个错误:

TypeError: '<' not supported between instances of 'tuple' and 'int'

到底是什么让 numpy 数组具有这种行为的能力?这看起来很方便,但有点不明显

最佳答案

Python 允许您使用特殊的“dunder”(双下划线)方法覆盖运算符。例如,让我们创建一个继承自tuple的自定义数据结构。 。使<执行逐项比较,我们只需覆盖 __lt__方法。

In [1]: class MyList(tuple):
: def __lt__(self, other):
: return tuple(v < other for v in self)
:

In [1]:

In [2]: l = MyList([1,2,3,4,5])

In [3]: l < 3
Out[3]: (True, True, False, False, False)

所有此类方法的列表可以在 Data Model 下的 Python 文档中找到。 .

关于python - 如何使用类似 numpy nd 数组创建数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60321134/

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