c_类型python添加值
我正在尝试向现有变量添加一些值。我对Python有点陌生。我使用的是ctype变量。这是我的代码,不起作用c_类型python添加值,python,ctypes,Python,Ctypes,我正在尝试向现有变量添加一些值。我对Python有点陌生。我使用的是ctype变量。这是我的代码,不起作用 rgdSamples = (c_double * 100)() fSamples = (c_double * 1000)() for i in range(10) fSamples += rgdSamples; 有什么建议吗?根据您代码片段中的数值,我假设fSamples应该是一个双精度的二维数组(10行,100列)不清楚为什么首选数组而不是Python列表,但下面是一个示例(出于
rgdSamples = (c_double * 100)()
fSamples = (c_double * 1000)()
for i in range(10)
fSamples += rgdSamples;
有什么建议吗?根据您代码片段中的数值,我假设fSamples应该是一个双精度的二维数组(10行,100列)
不清楚为什么首选数组而不是Python列表,但下面是一个示例(出于显示目的,数组要小得多) code.py:
#/usr/bin/env蟒蛇3
导入系统
导入ctypes
COLS=10#将其更改为100
行=5#将其更改为10
DoubleArr1D=ctypes.c_double*COLS
DoubleArr2D=(ctypes.c_double*COLS)*行#括号仅为清晰起见
def print_matrix(matrix,text=None):#这个函数不是很像python,但为了清晰起见,请保持这样
如果文本不是无:
打印(文本)
对于矩阵中的行:
对于行中的元素:
打印(“{:6.2f}”。格式(元素),结束=”)
打印()
打印()
def main():
mat=DoubleArr2D()#用0初始化矩阵
arr=DoubleArr1D(*范围(1,COLS+1))#用数字1..COLS初始化数组
打印矩阵(mat,text=“初始矩阵:”)
对于范围内的行_idx(行):
对于范围内的列idx(列):
mat[row_idx][col_idx]+=arr[col_idx]*(row_idx+1)#将数组中的值(乘以系数)添加到当前行
打印矩阵(mat,text=“最终矩阵:”)
如果名称=“\uuuuu main\uuuuuuuu”:
打印(“Python{:s}on{:s}\n.”格式(sys.version,sys.platform))
main()
打印(“完成”)
输出:
[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q055494830]>“e:\Work\Dev\VEnvs\py\u 064\u 03.07.03\u test0\Scripts\python.exe”code.py
win32上的Python 3.7.3(v3.7.3:ef4ec6ed12,2019年3月25日,22:22:05)[MSC v.1916 64位(AMD64)]
初始矩阵:
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
最终矩阵:
1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00
2.00 4.00 6.00 8.00 10.00 12.00 14.00 16.00 18.00 20.00
3.00 6.00 9.00 12.00 15.00 18.00 21.00 24.00 27.00 30.00
4.00 8.00 12.00 16.00 20.00 24.00 28.00 32.00 36.00 40.00
5.00 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00
完成。
你到底想做什么?为什么你需要ctypes?主项目是我不能发布的东西。这是我正在尝试做的一个例子。请至少发布一个最小的、完整的、可验证的例子。你想达到什么目标?您声明了2个数组,并尝试添加它们,这毫无意义。您希望F示例的外观如何?这是(2D)矩阵吗?@kostas:这就是你想要的吗?还是完全错了?