python解决有序数列众数重数问题
时间: 2023-09-08 12:03:18 浏览: 103
众数重数问题
Python通过统计数列中各个元素的出现次数,找到出现次数最多的元素,就可以解决有序数列众数重数的问题。
首先,定义一个空字典,用于存储每个元素及其出现次数。然后遍历数列中的每个元素,如果元素不在字典中,就将该元素作为键,初始值为1存入字典中;如果元素已经在字典中,就将对应的值加1。
接下来,找出字典中值最大的键。可以使用`max`函数,将字典的`values()`作为参数传入,并设置`key`参数为`dict.get`,这样`max`函数就会找到值最大的键。最后,得到的键就是有序数列中出现次数最多的元素,其重数就是这个值。
下面是用Python实现的示例代码:
```python
def find_mode(sequence):
count = {}
for num in sequence:
count[num] = count.get(num, 0) + 1
mode = max(count, key=count.get)
return mode, count[mode]
sequence = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
mode, count = find_mode(sequence)
print(f"众数为 {mode},重数为 {count}。")
```
以上代码中,数列`sequence`为`[1, 2, 2, 3, 3, 3, 4, 4, 4, 4]`,程序输出结果为"众数为4,重数为4"。也就是说,在有序数列`sequence`中,数字4出现的次数最多,为4次。
阅读全文