python传递数组
‘壹’ 求指导,python如何传递一个数组给object-c,XML吗
我也是最近才开始学python 现在还没用到与其它语言交互的地方,但在致了解了一点点,与特定的语言交互都会有相应的方法,可以通过该方法将另外语言的库或执行文件导入到python中然后执行当中的方法,执行方法时就可以传相应的参数进去.
‘贰’ python数组问题
可以直接传递。比如:
def draw_board(m):
‘’‘假设m是个二维数组,打印其值'''
for r in m:
for i in r:
print i,
print
m = [range(3) for i in range(3)]
draw_board(m)
‘叁’ python如何传递数组给自定义函数,不要循环语句
void fun(a,10) 将数组a的首地址赋给指针s
{
int i; i 计的是这数组中有几个字母
for (;*s;s++) 每循环一次,s后移一位,判断结束循环的条件s指向的内容为" \0 "
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
i++;
}
‘肆’ C++调用时python时,如何传入数组做为参数
题主,你基本操作没什么问题,有几个小地方要修改一下,修改如下:
你的源码:
PyObject* list = PyList_New(3);
for (size_t i = 0; i < 3; i++)
PyList_Append(list, Py_BuildValue("i", i));
PyEval_CallObject(pFunc, list);
--------------------------------------------------------------------------------------
修改后,应该是这样
PyObject*pArgs=NULL;
PyObject*list=PyList_New(0);//3改成0
pArgs=PyTuple_New(1);//定义1个参数
for(size_ti=0;i<3;i++)
PyList_Append(list,Py_BuildValue("i",i));//这样才能用Append,
PyTuple_SetItem(pArgs,0,list);//将列表赋给参数
PyEval_CallObject(pFunc,list);//传入参数,调用函数
注意事项:PyList_New(0)初始化0的时候,应该用Append初始化
PyList_New(3)初始化3个时候,应该用SetItem初始化
如果用Append的话,会出现[NULL,NULL,NULL]的情况
我在给一个完整的:
Python :(hello.py)
defTestList(nlist):
print(nlist)
return
一般参数都是已元组形式传入的
Py_Initialize();
PyRun_SimpleString("importsys");
PyRun_SimpleString("sys.path.append('./')");
PyObject*pMole=NULL;
PyObject*pList=NULL;
PyObject*pFunc=NULL;
PyObject*pArgs=NULL;
pMole=PyImport_ImportMole("hello");
pFunc=PyObject_GetAttrString(pMole,"TestList");
pArgs=PyTuple_New(1);
pList=PyList_New(0);
for(inti=0;i<3;i++)
{
PyList_Append(pList,Py_BuildValue("i",i));
}
PyTuple_SetItem(pArgs,0,pList);
pRet=PyEval_CallObject(pFunc,pArgs);
Py_Finalize();
最后输出的:[0, 1, 2]
‘伍’ 如何用python向C#的DLL函数传递二维数组
在什么环境呢?在web下的话,可以通过json来传递;winform的话,估计要通过中转语言来了,比如C(自己想的,呵呵)
‘陆’ 怎样获得想python中传递的参数数组
全自动安装:easy_install jieba 或者 pip install jieba
半自动安装:先下载http://pypi.python.org/pypi/jieba/ ,解压后运行python setup.py install
手动安装:将jieba目录放置于当前目录或者site-packages目录
通过import jieba 来引用 (第一次import时需要构建Trie树,需要几秒时间)!
‘柒’ python中,如何复制数组
python中直接通过等号赋值实际上只是引用地址的传递
如:a = [1,2,3,4,5]
b=a
当a的值改变时,b的值也会随之改变
如果希望b和a没有关系,可以通过下面的方法a = [1,2,3,4,5]
b=a[:]
这样a和b就是两个完全独立的数组,互相不会影响。