【原创】python编程技巧总结

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

列表中有中文,join连接输出:
' '.join(i.decode('utf-8') for i in line)
' '.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的迭代对象的时候就不返回了?

原文地址:https://www.cnblogs.com/liyangqiu/p/7773109.html