我是新手操作C中的numpy数组.这里有一段代码让我1)将1-D,64-bit-float numpy数组列表传递给C和2)循环遍历每个数组,打印其内容.

#include

#include

#include

#include "Python.h"

#include "numpy/arrayobject.h"

#include "list_of_ndarrays_lib.h"

void print_all(PyObject *list) {

int i, j;

PyArrayObject *arrayObj;

double *arrayData;

for (i = 0; i < PyObject_Length(list); i++) {

arrayObj = (PyArrayObject *) PyList_GET_ITEM(list, i);

arrayData = PyArray_DATA(arrayObj);

for (j = 0; j < PyArray_SHAPE(arrayObj)[0]; j++) {

printf("%f ", arrayData[j]);

}

printf("\n");

}

}

这段代码可以工作,但是PyArray_SHAPE(arrayObj)[0]并没有推广到n维数组,如果我用PyArray_SIZE(arrayObj)替换它,我会得到一个分段错误.

PyArray_SIZE我做错了什么?

只需添加import_array();调用print_all()开头.它将初始化数组函数C-API.

python中size的用法_在Python中PyArray_SIZE的正确用法是什么?相关推荐

  1. 无法从套接字中获取更多数据_数据科学中应引起更多关注的一个组成部分

    无法从套接字中获取更多数据 介绍 (Introduction) Data science, machine learning, artificial intelligence, those terms ...

  2. python中3or5什么意思_解析python中and与or用法

    在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值:而是,返回它们实际进行比较的值之一.>>> 1 and 2 and 3 3 > ...

  3. python中主函数用法_【Python 1-13】Python手把手教程之——详解函数和函数的使用...

    - 作者 | 弗拉德 来源 | 弗拉德(公众号:fulade_me) 定义函数 下面是一个打印问候语的简单函数,名为greet_user(): def greet_user(): "&quo ...

  4. python正则表达式group用法_【Python】正则表达式用法

    导读:正则在各语言中的使用是有差异的,本文以 Python 3 为基础.本文主要讲述的是正则的语法,对于 re 模块不做过多描述,只会对一些特殊地方做提示. 很多人觉得正则很难,在我看来,这些人一定是 ...

  5. python类高级用法_十.python面向对象高级用法

    1.反射 1.1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的 ...

  6. python文本结构化处理_在Python中标记非结构化文本数据

    python文本结构化处理 Labelled data has been a crucial demand for supervised machine learning leading to a n ...

  7. python中的递归思想_〖Python〗-- 递归、面向对象初识及编程思想

    [递归.面向对象初识及编程思想] 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策 ...

  8. python怎么横着输出_对python3中, print横向输出的方法详解

    对python3中, print横向输出的方法详解 Python 2 : print打印的时候,如果结尾有逗号,打出来时候不会换行.但是在python3里面就不行了. Python3: 3.0的pri ...

  9. python中append函数解析_对python中的pop函数和append函数详解

    对python中的pop函数和append函数详解 pop()函数 1.描述 pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法 pop()方法语法: list. ...

  10. python里load什么意思_【python】json中load和loads区别

    相同点 dump 和 dumps 都实现了序列化 load 和 loads 都实现反序列化 变量从内存中变成可存储或传输的过程称之为序列化 序列化是将对象状态转化为可保存或可传输格式的过程. 变量内容 ...

最新文章

  1. [转]MySQL实现分页查询
  2. vant ui wepy_UI设计需要学习什么软件呢?
  3. 西门子主程序调用子程序_S7200Smart 子程序局部变量使用教程
  4. python续行_python 控制台单行刷新,多行刷新
  5. linux rtl8188eu ap模式 密码错误 disassoc reason code(8)
  6. Python参考手册(第4版)
  7. java能写dnf辅助么,【Java8新特征】还没搞懂函数式接口?赶忙过来看看吧!_卡盟,dnf脚本...
  8. IDEA安装插件及安装失败的处理方法
  9. 数字c语言代码大全,C语言代码大全
  10. 7 款优秀 Markdown 编辑工具推荐
  11. Bootstrap相关优质项目必备网址
  12. 纯CSS实现一个三角形加圆角三角形
  13. 如何生成一个控件数组
  14. ARC 074F Lotus Leaves 最大流最小割
  15. RSA算法(加密与解密)
  16. 迅为iTOP-2K1000开发板龙芯中科国产64位Loognix系统工业核心主板
  17. 【报告分享】2021年上半年抖品牌营销白皮书-有米云AppGrowing亿邦研究院 (附下载)
  18. python---面对对象的组合
  19. 腾得起 降得住——新时代云安全战略思考
  20. 创意招聘广告制作攻略,H5招聘广告怎么做

热门文章

  1. git安装【Windows】
  2. linux虚拟机克隆
  3. leetcode 423. Reconstruct Original Digits from English | 423. 从英文中重建数字(Java)
  4. leetcode 877. Stone Game | 877. 石子游戏(递归/动态规划/数学解法)
  5. 牛客网_PAT乙级1004_福尔摩斯的约会 (20)
  6. 速度优化_网站打开速度慢?如何优化?
  7. Spring Boot + Mybatis多数据源和动态数据源配置
  8. JUC队列-LinkedBlockingDeque(三)
  9. 报错:selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This versio
  10. (最新合集)计算机网络谢希仁第七版 第一章课后答案