python高效编程技巧实战

2025-11-24 07:27:46

1、用opencv读取图片,返回的是一个数组(矩阵):

import cv2

img = cv2.imread('0.png')

此时的img,其实就是一个数组。

分离图片的颜色,只需要一个简单的乘法,就可以实现:

img = img*[1,1,0]              #这相当于在原图中剔除了红色。

保存图片也很简单:

cv2.imwrite('000.png',img)

简短的六行代码,就可以实现读图、分离色彩、保存的整个过程。

python高效编程技巧实战

python高效编程技巧实战

python高效编程技巧实战

2、python可以调用很多人工智能接口,来解决实际问题。比如,python可以调用百度AI平台的语音合成、语音识别、文字识别、人脸识别等接口,实现相关功能。

python高效编程技巧实战

3、列表、数组、集合的相互转化非常实用:

先给出一个列表

a = [1,2,3,3,2,1,1,2,3]

把a转化为一个数组

b = np.array(a)

把a转化为集合,可以删除a里面的重复元素:

c = set(a)

数组也可以直接转化为集合:

d = set(b)

其实,列表、数组、集合,都是可以很容易的相互转化的。

python高效编程技巧实战

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、6都能够整除12。

python高效编程技巧实战

python高效编程技巧实战

5、给定正整数n:

n=3

给定一个列表a和一个数组b:

a = [1,2,3,]

b = np.array(a)

a和b都可以乘以n,但是作用完全不同:

print(a*3)               #相当于把列表里面的元素复制了3遍

print(b*3)               #相当于把数组里面的元素都乘以3

python高效编程技巧实战

6、可以实现允许重复的全排列:

import itertools

b=["+","-","*","/"]

for x in itertools.product(b,b,b):

    print(x)

这有助于帮助我们用简洁的代码,来解答24点问题。

具体可以参考《用python解决24点问题》。

python高效编程技巧实战

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢