运行程序提示ValueError: invalid literal for int() with base 10: '5.66000',修改程序with open('file.txt', 'r') as f: lines = f.readlines() data = set() for line in lines: col1 = line.split()[0] data.add(col1) sorted_data = sorted(data, key=lambda x: int(x)) for item in sorted_data: print(item)
时间: 2024-03-20 14:42:02 浏览: 115
Python ValueError: invalid literal for int() with base 10 实用解决方法
好的,你可以将 lambda 表达式中的 `int(x)` 修改为 `float(x)`,这样就可以处理包含小数的字符串了。修改后的代码如下所示:
```python
with open('file.txt', 'r') as f:
lines = f.readlines()
data = set()
for line in lines:
col1 = line.split()[0]
data.add(col1)
sorted_data = sorted(data, key=lambda x: float(x))
for item in sorted_data:
print(item)
```
这段代码与之前的代码类似,只是将 lambda 表达式中的 `int(x)` 修改为了 `float(x)`。这样就可以将包含小数的字符串转换为浮点数,并进行排序了。
阅读全文