通过Python计算任意长度列表的中位数
时间: 2024-10-09 19:05:17 浏览: 34
在Python中,计算任意长度列表的中位数可以分为几个步骤:
1. **排序**:首先对列表进行排序。你可以使用`sorted()`函数或列表的`sort()`方法。
```python
numbers = [4, 2, 7, 1, 9, 5]
sorted_numbers = sorted(numbers)
```
2. **确定中间位置**:对于奇数长度的列表,中位数是中间的那个元素;对于偶数长度的列表,中位数是中间两个元素的平均值。你可以使用索引来找到这个位置。
```python
length = len(sorted_numbers)
if length % 2 == 0:
middle_index_1 = length // 2 - 1
middle_index_2 = length // 2
else:
middle_index = length // 2
median = (sorted_numbers[middle_index_1] + sorted_numbers[middle_index]) / 2
```
3. **返回中位数**:最后,返回计算出的中位数。
完整示例代码如下:
```python
def calculate_median(lst):
sorted_lst = sorted(lst)
length = len(sorted_lst)
if length % 2 == 0:
median = (sorted_lst[length // 2 - 1] + sorted_lst[length // 2]) / 2
else:
median = sorted_lst[length // 2]
return median
numbers = [4, 2, 7, 1, 9, 5]
print(calculate_median(numbers))
```
阅读全文