【发布时间】:2022-11-18 03:57:44
【问题描述】:
我有以下代码来读取数据
import sys
data = sys.stdin.readlines()
id = 0
while id < len(data) - 1:
n = int(data[id])
id += 1
some_list = []
for _ in range(n):
x1, y1, x2, y2 = map(str, data[id].split(" "))
some_list.append([x1, y1, x2, y2])
id += 1
print(some_list)
输入:
2
0 3 1 2
2 1 3 1
4
3 1 1 0
0 0 2 1
1 1 2 0
3 0 3 1
它的输出:
[['0', '3', '1', '2\n'], ['2', '1', '3', '1\n']]
[['3', '1', '1', '0\n'], ['0', '0', '2', '1\n'], ['1', '1', '2', '0\n'], ['3', '0', '3', '1']]
可以看到也写了“\n”。 如何在不损失数据读取速度的情况下忽略“\n”(或删除它)?
我需要数字保持字符串格式。还需要构造 sys.stdin.readlines(),因为我不知道输入中会有多少行(多少 m-s)。
【问题讨论】:
-
使用
.split()而不是.split(" ")