|
6鱼币
题目:0. 如果有一个列表,其中占比超过一半的元素称之为主要元素,那么如何获取一个列表的主要元素呢
题目给定的列表是:[2, 2, 4, 2, 3, 6, 2]
自己想的思路:
- num = [2,2,4,2,3,6,2]
- pert = []
- num.sort() #从小到大排列
- n = len(num)
- for ag in range(n):
-
- if num[ag] != num[3]: # ag 的值不等于 num[3]下标的值 执行
- num.remove(num[ag]) # 把当前值从num列表删除
-
- else: #等于num[3]的值时
- pert.append(num[ag]) #把当前值添加到penrt,列表内
- if pert > num: # 新列表的数 > 原列表的数说明该数的,中间元素为主要元素
- print("中间元素为主要元素!")
- else:
- print("不存在主要元素T_T")
复制代码
运行结果:IndexError: list index out of range(列表索引超出范围)
疑惑:为什么索引会超出范围?,需要怎么样修改?
- nums = [2, 2, 4, 2, 3, 6, 2]
- max = 0
- elem = None
- for i in nums:
- if nums.count(i) > max:
- elem = i
- max = nums.count(i)
- print(f"主要元素是:{elem}")
复制代码
|
|