python读取txt文件,对第一列数据去掉重复值,求出第一列数据的最大值与最小值的区域长度,并分成三份打印出三个区域的区间
时间: 2024-03-27 10:40:59 浏览: 79
好的,我来为您解答。可以按照以下步骤进行操作:
1. 读取txt文件,将第一列数据存入列表中,并去掉重复值。
```python
with open('data.txt', 'r') as f:
data = []
for line in f:
if line.strip(): # 去掉空行
line = line.strip().split()[0] # 只取第一列数据
if line not in data:
data.append(line)
```
2. 将列表中的数据转换为整型,并对其进行排序。
```python
data = sorted([int(d) for d in data])
```
3. 计算最大值与最小值的区域长度。
```python
range_length = data[-1] - data[0]
```
4. 将区域长度分成三份,并打印出三个区域的区间。
```python
interval_length = range_length / 3
interval_1 = (data[0], data[0] + interval_length)
interval_2 = (interval_1[1], interval_1[1] + interval_length)
interval_3 = (interval_2[1], data[-1])
print("区间1:", interval_1)
print("区间2:", interval_2)
print("区间3:", interval_3)
```
完整代码如下:
```python
with open('data.txt', 'r') as f:
data = []
for line in f:
if line.strip(): # 去掉空行
line = line.strip().split()[0] # 只取第一列数据
if line not in data:
data.append(line)
data = sorted([int(d) for d in data])
range_length = data[-1] - data[0]
interval_length = range_length / 3
interval_1 = (data[0], data[0] + interval_length)
interval_2 = (interval_1[1], interval_1[1] + interval_length)
interval_3 = (interval_2[1], data[-1])
print("区间1:", interval_1)
print("区间2:", interval_2)
print("区间3:", interval_3)
```
注意:要将代码中的 `data.txt` 修改为您实际的文件名。
阅读全文