gpt4 book ai didi

Python ctypes - 类型错误 : int expected instead of float

转载 作者:行者123 更新时间:2023-12-01 05:03:31 25 4
gpt4 key购买 nike

我尝试将 python 列表转换为 ctype 数组。但不知何故,我总是在包含以下代码的行中收到错误“TypeError:int Expected而不是float”:

    self.cValues = (ctypes.c_int * len(self.values))(*self.values)

我在几行之前创建了 self.values 。这是一个普通的 python 列表。我百分百确定,len(self.values) 是一个整数,我用 type() 函数测试了它,结果是类“int”。那么这条线还有什么问题呢?感谢您的帮助。

最佳答案

问题不在于 len() 函数,而在于 self.values 是 float 列表而不是整数列表。尝试使用一个小的独立示例来查看:

import ctypes
values = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0]
cValues = (ctypes.c_int * len(values))(*values)

用你收到的“TypeError: int Expected而不是float”消息来轰炸。如果将值更改为整数,即 values = [0, 1, 2, 3, 4, 5] 则效果很好。或者,由于您在上一条评论中说 self.values 是 float 列表,因此您可能希望像这样使用 ctypes.c_float :

values = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0]
cValues = (ctypes.c_float * len(values))

关于Python ctypes - 类型错误 : int expected instead of float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25517355/

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