gpt4 book ai didi

python - Racket :相当于 np.zeros((n, m))

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:18 24 4
gpt4 key购买 nike

我不明白我在这里做错了什么。可能是错位的反引号。

Racket 代码:

(require math/array)
(define mask_cube
(let ([leng 5])
`(make-array #(,leng ,leng) 0)))

我想让它做什么,用 python 编写:

np.zeros((5,5))

为什么逗号没有像我认为的那样工作?如果有更优雅的方法来解决问题,请告诉我。大多数情况下,我只想要漂亮、简短的 np.zeros() 函数

此外,如果我对反引号、逗号或 racket(甚至一般的 Lisp)有什么基本的误解,请告诉我。

最佳答案

你不想在这里使用eval。相反,您引用的太多了;解决问题的简单方法是将 ` 向内移动到适当的位置:

(define mask_cube
(let ([leng 5])
(make-array `#(,leng ,leng) 0)))

但是,如果您是初学者,我通常会避免引用;它比需要的更复杂。只需使用 vector 函数代替,这样更容易理解:

(define mask_cube
(let ([leng 5])
(make-array (vector leng leng) 0)))

有关报价的深入处理(末尾有准报价),请参阅 What is the difference between quote and list? .

关于python - Racket :相当于 np.zeros((n, m)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51295666/

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