189 8069 5689

函数返回数组python 函数返回数组指针

python 调用c++程序, c++程序如何返回数组给python

C/C++不能直接返回一个数组。这是由于在C/C++中,数组不是一种类型,因此不能被直接返回。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站制作、当涂网络推广、重庆小程序开发公司、当涂网络营销、当涂企业策划、当涂品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供当涂建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

一般有两种方法来返回一个数组。

第一种方法:

返回一个指向数组的指针,例如char (*retArray)[10]声明了一个函数retArray,该函数可以返回指向具有10个char元素的数组

第二种方法:

如果你不喜欢用指针的形式返回数组,那么可以采用返回一个结构的形式。这种形式相对较安全,可以避免忘记释放指针而造成内存泄露,也可以避免访问悬挂指针造成的错误。但缺点是由于结构是先拷贝再返回,因此如果结构较大时,会影响效率和占用较大内存。

这是C的限制,Python调用C也是这种情况

Python中的sum为什么返回的还是数组

Python中的sum函数,无第二参数时,返回的是数值不是数组,数值为参数1中的数组或其它可迭代对象的全加之和。

在下列几种情况下,sum函数返回数组:(Python 3版本)

使用了第二参数为axis=0,并且参数1是二维对象,则按列相加并返回数组;

使用了第二参数为axis=1,并且参数1是二维对象,则按行相加并返回数组;

导入了Numpy模块,并使用了Numpy中的sum函数,并且参数1是二维对象,则默认就是axis=0,即按列相加并返回数组;

import numpy as np  

#python中自带的sum  

sum([[1,2,3],[4,5,5]])  #返回数值 20

sum([[1,2,3],[4,5,5]],axis=0) #返回数组 [5 7 8]

sum([[1,2,3],[4,5,5]],axis=1) #返回数组 [6 14]

#Numpy中的sum  

a = np.sum([[1,2,3], [4,5,5]]) #返回数组 [5 7 8]

注:NumPy是Python的一种开源的数值计算扩展。

python定义函数最后返回值是一个数组,请问调用函数的时候怎么将结果取出?

使用返回值的方法有两种:

可以直接把调用的函数作为变量使用

可以用调用函数给一个变量赋值

第一种情况见如下例子:

l = [1,2,3,4,5]

def add_element(list, element):

list.append(element)

return list

print add_element(l, 6)

#  [1,2,3,4,5,6]

print add_element(l, 6)[5]

# 6

第二种情况:

l1 = add_element(l, 6)

print l1

#  [1,2,3,4,5,6]

print l1[5]

# 6

注意: 以上例子都是应用于python 2.x


分享文章:函数返回数组python 函数返回数组指针
网页URL:http://cdxtjz.cn/article/hehdii.html

其他资讯