【问题标题】:How to get rid of the "\n" at the end of each line while writing to a variable?如何在写入变量时去掉每行末尾的 \"\\n\"?
【发布时间】: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)。

【问题讨论】:

标签: python stdout stdin


【解决方案1】:

您可以使用字符串包中的rstrip

例如这里,只需使用:

y2.rstrip()

它将删除 如果有的话,在 y2 的末尾。

【讨论】:

    猜你喜欢
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2014-02-04
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多