Python如何读取坐标文件并转换为指定格式的元组列表
解决代码
直接使用以下代码即可得到目标格式的列表:
res = [] with open("texto.txt", "r", encoding="utf-8") as f: for line in f: # 去除换行符、括号后拆分坐标 x, y = line.strip().strip("()").split(",") res.append((int(x), int(y))) print(res)
代码逻辑说明
- 你之前的代码只做了按行读取文件内容,拿到的是带换行符的原始字符串,没有做类型转换和格式清洗
- 用
with open语法读取文件可以自动处理文件关闭,不需要手动调用close方法,更安全 strip()会自动去除每行首尾的换行符、空格等空白字符- 二次调用
strip("()")可以去掉坐标两端的括号,再用split(",")拆分出x、y两个坐标值 - 最后把坐标转成整数类型,封装为元组存入结果列表即可
如果偏好更简洁的写法,可以用列表推导式实现:
with open("texto.txt") as f: res = [tuple(map(int, line.strip().strip("()").split(","))) for line in f] print(res)
运行以上代码都会直接输出你需要的结果:[(200, 500), (300, 100), (450, 150), (520, 480)]
内容的提问来源于stack exchange,提问作者Danielle Brown
相关产品推荐
相关产品推荐

