gpt4 book ai didi

Cython C 数组初始化

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

我想要做

cdef int mom2calc[3]
mom2calc[0] = 1
mom2calc[1] = 2
mom2calc[2] = 3

以更紧凑的方式。类似的东西
cdef int mom2calc[3] = [1, 2, 3]

这是无效的 Cython 语法。

笔记:
cdef int* mom2calc = [1, 2, 3]

不是一个选项,因为我无法(自动)将其转换为内存 View 。

最佳答案

cdef int mom2calc[3]
mom2calc[:] = [1, 2, 3]

这适用于原始指针(尽管当时没有进行边界检查)、内存 View 和固定大小的数组。它仅适用于一维,但这通常就足够了:

cdef int mom2calc[3][3]
mom2calc[0][:] = [1, 2, 3]
mom2calc[1][:] = [4, 5, 6]
mom2calc[2][:] = [7, 8, 9]

关于Cython C 数组初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25974975/

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