




# 导入numpy库(用于数组和矩阵)importnumpy as np#=====================1. 列表List(最常用、可修改)=====================print("===== 1. 列表 List =====")fruit=["苹果","香蕉","橙子","葡萄"]print("原始列表:", fruit)fruit[1]="芒果"fruit.append("西瓜")del fruit[0]print("修改后的列表:", fruit)print("列表用途:存放可随意修改的一组数据
")#=====================2. 元组Tuple(不可修改、固定)=====================print("===== 2. 元组 Tuple =====")color=("红色","蓝色","绿色","黄色")print("原始元组:", color)print("元组取值:", color[2])print("元组用途:存放固定不变的数据(如坐标、配置信息)
")#=====================3. 字典Dict(学号当键,3个同学数据)=====================print("===== 3. 字典 Dict =====")# 键:学号 | 值:同学信息(姓名、年龄、班级、成绩)student={ "2026001": {"姓名":"小明","年龄":18,"班级":"高一18班","成绩":95}, "2026002": {"姓名":"小红","年龄":17,"班级":"高一18班","成绩":98}, "2026003": {"姓名":"小刚","年龄":18,"班级":"高一18班","成绩":92}}print("全部学生数据(学号为键):")forid, infoinstudent.items(): print(f"学号 {id}:{info}")# 根据学号快速查询同学print("
按学号查询(2026002):", student["2026002"])print("字典用途:按唯一标识(学号)快速查找数据
")#=====================4. 数组Array(数值专用、计算快)=====================print("===== 4. 数组 Array =====")num=np.array([1,2,3,4,5])print("原始数组:", num)new=num*2print("数组整体 ×2:", new)print("数组用途:专门做数值计算、数学运算
")#=====================5. 矩阵Matrix+卷积=====================print("===== 5. 矩阵 Matrix =====")score=np.matrix([ [8,9,9], [7,8,8], [9,5,7]])print("3行3列成绩矩阵:")print(score)print("矩阵/100:")print(score/100)#=====================最终总结=====================print("="*50)print("【核心区别总结】")print("1. 列表[]:可修改,通用数据")print("2. 元组():不可修改,固定数据")print("3. 字典{}:键值对,按学号/名字查数据")print("4. 数组np.array:数值专用,计算快")print("5. 矩阵np.matrix:二维表格,数学运算")
# 拓展# ===================== 纯循环卷积 =====================print("
====== 卷积计算(纯循环实现) ======")k = np.matrix([[-1,1], [0,1]])print("卷积核:
",k)img = np.array(score)k2 = np.array(k)h, w = img.shapekh, kw = k2.shapeout_h = h - kh +1out_w = w - kw +1m = np.zeros((out_h, out_w), dtype=int)# 0矩阵#print(m)foriinrange(out_h): forjinrange(out_w): window = img[i:i+kh, j:j+kw] m[i, j] = np.sum(window * k2)print("循环卷积结果:")print(m)# ===================== scipy 卷积(修复版!手动翻转核) =====================importnumpyasnpfromscipy.signalimportconvolve2dprint("
====== 卷积计算(scipy 修复版) ======")# 关键:手动翻转卷积核 180°,让结果和循环完全一致!k_flipped = np.flipud(np.fliplr(k))conv = convolve2d(score, k_flipped, mode='valid')print("scipy 卷积结果:")print(conv)print("="*50)print("✅ 两个结果现在完全一样!")
# ===================== 1. 列表 List(最常用、可修改) =====================print("===== 1. 列表 List =====")fruit= ["苹果","香蕉","橙子","葡萄","橙子"]print("原始列表:", fruit)fruit.append("西瓜")print("修改后的列表:", fruit)print("列表用途:存放可随意修改的一组数据
")#作业:枚举算法查找橙子d=-1foriinfruit: d=( ) # 填空 if i=="橙子": print("橙子位置:",d)print('-'*20)ford in range(len(fruit)): if fruit[ ]=="橙子": # 填空 print("橙子位置:",d)



