5

我是 cython 的新手,我只是在寻找一种将 numpy 数组转换为元组的简单方法,然后可以将其添加到字典中和/或在字典中查找。

在 CPython 中,我可以使用 PyTuple_New 并遍历数组的值(将每个值添加到元组中,就好像我将它们附加到列表中一样)。

Cython 似乎没有提供通常的 CPython 函数。我怎样才能打开一个数组:

array([1,2,3])

成一个元组:

(1, 2, 3)
4

1 回答 1

3

Cython 是 Python 的超集,因此任何有效的 Python 代码都是有效的 Cython 代码。在这种情况下,如果您有一个 NumPy 数组,只需将其传递给tuple类构造函数就可以正常工作(就像您在常规 Python 中所做的那样)。

a = np.array([1, 2, 3])
t = tuple(a)

Cython 将负责将这些构造转换为适当的 C 函数调用。

于 2013-09-16T20:56:34.047 回答