多语言展示
当前在线:1369今日阅读:86今日分享:14

python高效编程技巧实战

本文,介绍几个基于python的编程技巧。python编程,其代码有其独到的简洁之处。
工具/原料
1

电脑

2

python3.6(Anaconda)

3

辅助模块

方法/步骤
1

用opencv读取图片,返回的是一个数组(矩阵):import cv2img = cv2.imread('0.png')此时的img,其实就是一个数组。分离图片的颜色,只需要一个简单的乘法,就可以实现:img = img*[1,1,0]              #这相当于在原图中剔除了红色。保存图片也囊驼很简单:cv2.imwrite('000.png',img)简短的六行代块颂码,就可以实现读图、分离色彩、保存的整个过程。

3

列表、数组、集合的相互转化非常实用:先给出一个列表a = [1,2,3,3,2,1,1,2,3]把a转化为一个数组b = np.array(a)把a转化为集合,可以删除a里面的重复元素:c = set(a)数组也可以直接转化为集合:d = set(b)其实,列表、数组、集合,都是可以很容易的相互转化的。

4

可以很容易的改变数组的形状:a = np.array([1,2,3,3,2,1,1,2,3])b = np.reshape(a,(3,-1))把数组a转化为一个3*3的矩阵,需要3能够整除len(a),而-1的作用,就是自适应,由len(a)/3来确定。再举一个例子:a = np.array([1,2,3,3,2,1,1,2,3,7,8,9])b = np.reshape(a,(3,-1))c = np.reshape(a,(4,-1))d = np.reshape(a,(6,-1))3、4、6都能够整除12。

6

可以实现允许重复的全排列:import itertoolsb=['+','-','*','/']for x in itertools.product(b,b,b):    print(x)这有助于帮助我们用简洁的代码,来解答24点问题。具体可以参考《用python解决24点问题》。

注意事项

之所以大篇幅介绍列表、数组、集合,是因为它们都是可迭代的,这是处理大数据的基础

推荐信息