2.1 数 组 课件 2022—2023学年浙教版(2019)高中信息技术必修1

2023-02-17
| 22页
| 455人阅读
| 4人下载
特供

内容正文:

数 组 1、数组概念及定义 数组是由相同类型的变量构成的一个序列。 通常使用一个数组名和下标对其进行访问。如a[5] 静态数组一旦定义长度不变,按顺序存储。 A 数组的定义有两种常用方式: 1.定义一个长度为10的整型数组,初始值都为0 a=[0]*10 a=[0 for i in range(10)] 2.定义一个长度为6的随机数组,取值范围为[1,9] a=[random.randint(1,9) for i in range (6)] 1、数组概念及定义 2、数组元素的插入 数组a下标 0 1 2 3 4 值 3 8 11 14 17 1.在第2位插入数值10,应该怎么做? 3.插入位置用变量i表示,值用X表示,数组长度为n,完成代码填空。 for j in range( _____________): a[j+1]=a[j] _____=X n=_______ n-1,i-1,-1 a[i] n+1 1 注意移动的方向 先移后插 2 插入的位置 2.先移第2位还是先移第4位,还是两者都可以? 被覆盖 数组添加python自带函数 a.insert(i,x) 在i位添加x a.append(x) 在末尾添加x 3.数组元素的删除 数组a下标 0 1 2 3 4 值 3 8 11 14 17 1.在第2位删除数值11,应该怎么做? 3.删除位置用变量i表示,值用X表示,数组长度为n,完成代码填空。 for j in range( _____________): a[j+1]=a[j] n=_______ i+1,n n-1 2.这次方向是? 注意 总量的变化 后面前移 从前往后 数组删除用python自带函数实现 a.pop(i) 删除下标为i的元素 del a[i] 还可以删除范围del a[ : ] 4.删除重复数 arr=[3,5,3,1,5,4] 算法1:使用变量j逆序扫描数组,再利用pop(j)方法直接删除重复元素 def dedup_1(arr): i=0 while i<len(arr): for j in range(__________): if arr[j]==arr[i]: arr.pop(j) i+=1 len(arr-1,i,-1) 3,5,3,1,5,4 i j 一定要逆序扫描吗?顺序可以吗? 不可以,因为pop删除后,后面的数会前移,i是往后走的,会忽略掉后面的一个数(1)。 4.删除重复数 arr=[3,5,3,1,5,4] 算法2:使用变量c统计重复数,再通过arr[j-c]=arr[j]高效删除重复数。 def dedup_2(arr): i,n=0,len(arr) while i<n: c=0 for j in range(i+1,n): if arr[j]==arr[i]: c+=1 else: ________ n-=c i+=1 del arr[n: ] arr[j-c]=arr[j] 3,5,3,1,5,4 i j 思路:后面前移的位数由前面需要删除的个数决定 4.删除重复数 arr=[3,5,3,1,5,4] 算法3:使用变量r记录剩余元素有边界,再通过arr[r]=arr[j]高效删除重复数。 def dedup_3(arr): i,n=0,len(arr) while i<n: r=i+1 for j in range(i+1,n): if __________: arr[r]=arr[j] r+=1 n=r i+=1 del arr[n: ] 3,5,3,1,5,4 arr[j]!=arr[i] i j r 思路:重新定义数组下标,将符合条件的元素重新放进数组中 练习 1、下列实例中的数据不适合使用数组来存储的是( ) A.全班所有同学的身高信息 B.妈妈在账本上记录每个月的家庭收支情况 C.小明规划暑假自驾游路线,并根据家人建议对其进行了多次修改 D.评委给参加校园歌手大赛的选手打分 2.一个数组第一个元素的存储位置是1000(表示在第1000个字节处),每个元素所占空间大小为8个字节,则第5个元素的位置是( ) A.1000 B.1040 C.1032 D.1256 C C 3.有如下python程序段: a=[0]*9 n=5 for i in range(n): a[i]=2*i+1 print(a) p=3 ×=6 for i in range(n-1,p-1,-1): a[i+1]=a[i] a[p]=x 执行程序后,a[3]和a[n]的值分别为(

资源预览图

2.1 数 组 课件 2022—2023学年浙教版(2019)高中信息技术必修1
1
2.1 数 组 课件 2022—2023学年浙教版(2019)高中信息技术必修1
2
2.1 数 组 课件 2022—2023学年浙教版(2019)高中信息技术必修1
3
2.1 数 组 课件 2022—2023学年浙教版(2019)高中信息技术必修1
4
2.1 数 组 课件 2022—2023学年浙教版(2019)高中信息技术必修1
5
2.1 数 组 课件 2022—2023学年浙教版(2019)高中信息技术必修1
6
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。