【原创】python编程技巧总结

把字典的值初始化为一个列表再加数据进去:
for index,item in enumerate(cols):
cols_dict.setdefault(item,[]).append(index)

列表中有中文,join连接输出:
'\t'.join(i.decode('utf-8') for i in line)
'\t'.join(str(i).decode('utf-8') for i in rows)

 

在linux下输出中文:
import sys
import io
reload(sys)
sys.setdefaultencoding( "utf-8" )

对一个字符串str='liyangqiu'实现逆序:
print str[::-1]

np.zeros(a,b,c,d):从右到左,第一个为矩阵列数,第二个为矩阵行数,第三个为这样的矩阵重复b次的矩阵,第四个为重复b次的矩阵再重复a次
np.empty():同上,但是without initializing entries
np.random.normal():返回正态分布的随机数字,默认是一个,右边第一个定义(类似于矩阵的定义)
.fill(a):矩阵都用a填充。
.reshape:修改矩阵的维度,通过reshape生成的新数组和原始数组公用一个内存,也就是说,假如更改一个数组的元素,另一个数组也将发生改变。从右到左对应
里到外
.repeat(array,n):The number of repetitions for each element. repeats is broadcasted to fit the shape of the given axis.

简短的for嵌套循环:edit = [[i + j for j in range(len(str2) + 1)] for i in range(len(str1) + 1)]

 

for if else在一起简写:[i if i%2==0 else 1 for i in a]
for if在一起简写:[ i for i in a if i%2==0 ]
for循环嵌套:for tshirt in ('%s %s' % (c, s) for c in colors for s in sizes):
print(tshirt)

 


izip 里面不能夹杂(imap)


imap只能迭代一次???? 第二次调用同一个imap的迭代对象的时候就不返回了?

 

posted @ 2017-11-02 16:57  liyang1020  阅读(285)  评论(0编辑  收藏  举报