python与C,在写程序时踩过的坑!

Posted AzkaBan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python与C,在写程序时踩过的坑!相关的知识,希望对你有一定的参考价值。

1.  python与C有很多相似之处, 其一就是指针的大量应用,  因此在使用临时变量保存数据, 并将临时变量传递给其他变量时需要创建内存;

     例如,在C中, char *temp 每次获取到不同的字符串, 依次放入 char **list中,    先申请一块内存  char *f = malloc(sizeof(char)*10);  f=temp; *list = f;    这样temp在改变时, 就不会影响到list; 下一个 *(list+1)=..

     python中使用复制申请内存,   save_temp = temp.copy(),  但是在向list集合中存储时, 不需要手动创建内存, 会自动创建; 

 

2. python字典的一些用法:  初始化字典的一个技巧-> indict_init = lammda:{‘conv_w‘:None, ‘conv_b‘:None}      conv_bn = indict_init()即可完成初始化  conv_bn[...]赋值

    判断字典中是否有该key,   if conv_bn.get(...),  判断value是否为空 if conv_bn[...] is None,

    对字典排序  sorted(dict.keys())     或者 sorted(dict.items())

 

3. 将矩阵展开为一维集合 [ i for line in matrix for i in line ] ,   对矩阵各列排序  sorted(param_matrix, key=lambda params:[params[3],params[1]],reverse=True),

    将map的用法:   min([i[0] for i in list(map(lambda x: (x[1],x[3]), params)) if i[1]<height])

    将多个list组成一个矩阵  np.c_[all_index, length, width, height, priority, price]

 

以上是关于python与C,在写程序时踩过的坑!的主要内容,如果未能解决你的问题,请参考以下文章

找不到ActivityMainBinding这个类?刚学Databinding时踩过的坑...

前端开发工具Brackets介绍,安装及安装Emme插件时踩过的坑

那些年我用awk时踩过的坑——awk使用注意事项

python小随笔进程池 multiprocessing.Pool的简单实现与踩过的坑

python抓取360百科踩过的坑!

致敬那些年对nginx踩过的坑