马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Nicole37 于 2023-8-2 16:38 编辑
列表3:
改:
- a = ["看展","书店看书","citywalk","看落日","教研室"]
- a[4] = "看电影" #改列表中的元素,可以直接下标索引替换即可
- a
- ['看展', '书店看书', 'citywalk', '看落日', '看电影']
- a[1:] = ["旅游","旅游","旅游","旅游"] #可以用切片的方式改列表中连续的元素
- a
- ['看展', '旅游', '旅游', '旅游', '旅游']
复制代码
数字列表的排序问题:
由数字组成的列表可以直接使用sort()来进行从小到大的排序,使用reverse()进行从大到小排序
- a = [1,8,6,7,2,9,3,4]
- a.sort()
- a
- [1, 2, 3, 4, 6, 7, 8, 9]
- a.reverse()
- a
- [9, 8, 7, 6, 4, 3, 2, 1]
复制代码
注意:
1、reverse() 是直接对列表进行倒叙排列,先调用sort(),在调用reverse(),才可将数字列表进行从大到小的排序,so,reverse()可以用在任何类型的列表中
2、直接对数字列表进行一步从大到小的排序:sort(reverse=True)
e.g
- a = [1,8,6,7,2,9,3,4]
- a.sort(reverse=True)
- a
- [9, 8, 7, 6, 4, 3, 2, 1]
复制代码
查:
查找列表中某个元素出现的次数:count(元素)
- a = [1,8,6,7,2,9,3,4]
- a.count(4)
- 1
- b = ["看barbie","旅游","旅游","旅游","旅游"]
- b.count("旅游")
- 4
复制代码
查找列表中某个元素出现的索引值:index(元素) 返回的是第一次出现的下标值
注意:可以用来在未知某元素的索引值时,企图将其替换的场景下
- b[b.index("看barbie")] = "睡懒觉"
- b
- ['睡懒觉', '旅游', '旅游', '旅游', '旅游']
复制代码
index(x,start,end) :规定了index查找的范围:
- c = [1,8,5,6,9,8,4,5]
- c.index(8,3,9) #从下标从3开始到9的范围内查找元素8的索引值
- 5
复制代码
拷贝一个列表:copy()- c = [1,8,5,6,9,8,4,5]
- d = c.copy()
- d
- [1, 8, 5, 6, 9, 8, 4, 5]
- d = c[:] #用切片的方法,将c中所有元素取出来,赋给d
- d
- [1, 8, 5, 6, 9, 8, 4, 5]
复制代码
作业:
1、注意 下标索引是从a到b-1 ,结束位置是不包含的
2、注意:所有的元素方法格式均为 列表名称.方法
3、- s = [1, 2, 3, 4, 5]
- t = s
- s[2] = 1
- print(t)
- [1, 2, 1, 4, 5]
复制代码
列表变量名的赋值只不过是引用的拷贝,如果你修改了列表中的元素,那么会影响到另外一个指向它的引用
4、摩尔计数,主要元素:
如果有一个列表,其中占比超过一半的元素称之为主要元素,那么如何获取一个列表的主要元素呢?题目给定的列表是:[2, 2, 4, 2, 3, 6, 2]
摩尔投票法有时候也被称为“多数投票法”,该算法解决的问题是如何在任意多的候选人中(选票无序),找到获得票数最多的那个,摩尔投票法分为两个阶段:
对抗阶段:分属两个候选人的票数进行两两对抗抵消
计数阶段:计算对抗结果中最后留下的候选人票数是否有效
- nums = [2, 2, 4, 2, 3, 6, 2] #摩尔计数法
-
- # 对抗阶段 major存放第一个元素,依次遍历后面的所有元素,count统计该元素出现的次数
- major = nums[0] #初始主角为第一个元素
- count = 0 #将其出现次数设为0
- for each in nums: #循环遍历所有的元素
- if count == 0: #若当count的值经过加加减减变成0时,则说明当前的主角票数抵消完了,换下一个主角,即当前的元素
- major = each
- if each == major: #如果count的值没到0,则说明主角不变,若遍历的当前元素值与主角相等,则票数加一
- count += 1
- else:
- count -= 1 #如果不等,则票数减一
-
- # 统计阶段
- if nums.count(major) > len(nums) / 2: #最终的留下的major是有票数 或者票数为的,计算该元素在列表中出现的次数,若超过半数,则为主要元素,否则不存在
- print("主要元素是:", major)
- else:
- print("不存在主要元素。")
复制代码
|