c_类型python添加值

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列表,但下面是一个示例(出于

我正在尝试向现有变量添加一些值。我对Python有点陌生。我使用的是ctype变量。这是我的代码,不起作用

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:这就是你想要的吗?还是完全错了?