0.利用numpy计算矩阵乘法并排序
import numpy as np
with open(r'C:\Users\hp\Desktop\李宏毅\NTU_ML2017_Hung-yi-Lee_HW-master\HW0\Q1\data\matrixA.txt', 'r') as lines:
m1 = lines.read() # 1,2,3,4...---字符串
m1 = m1.split(',') # ['1','2','3','4']
m1 = list(map(int, m1)) # [1,2,3,4]
with open(r'C:\Users\hp\Desktop\李宏毅\NTU_ML2017_Hung-yi-Lee_HW-master\HW0\Q1\data\matrixB.txt', 'r') as lines:
m2 = lines.readlines() # ['7,3,2,9,9,2,3,3,1,3\n', '1,8,5,2,8,7,9,6,2,3\n'...]
m2 = [line.strip() for line in m2] #列表推导式⭐⭐⭐ ['7,3,2,9,9,2,3,3,1,3', '1,8,5,2,8,7,9,6,2,3'...]
m2 = [list(map(int, line.split(','))) for line in
m2] # [[7, 3, 2, 9, 9, 2, 3, 3, 1, 3], [1, 8, 5, 2, 8, 7, 9, 6, 2, 3]...]
A = np.array(m1) # 转化为numpy的ndarray格式,利用numpy相关函数实现功能
B = np.array(m2)
C = A.dot(B) # A*B
C = np.sort(C) # 排序
np.savetxt('ans_one_1.txt', C, fmt='%d') # 存储数组C
1.给定两张图片,去除两张图片中的相同部分
利用Pillow库中Image模块
import PIL.Image as im
im1 = im.open(r'C:\Users\hp\Desktop\李宏毅\NTU_ML2017_Hung-yi-Lee_HW-master\HW0\Q2\data\lena.png')
im2 = im.open(r'C:\Users\hp\Desktop\李宏毅\NTU_ML2017_Hung-yi-Lee_HW-master\HW0\Q2\data\lena_modified.png')
x, y = im2.size # image.size返回图像的尺寸(height*width)
for i in range(x):
for j in range(y):
if im1.getpixel((i,j))==im2.getpixel((i,j)):#判断两张图片同一点的像素值
im2.putpixel((i,j),255)#putpixel()改变单个像素点的RGBA值
im2.show()
im2.save('ans_two.png')
结果: