gpt4 book ai didi

python - 如何从字符串列表中删除\n

转载 作者:行者123 更新时间:2023-12-01 08:28:27 24 4
gpt4 key购买 nike

我正在尝试创建一只乌龟,它会前往列表上的位置,但我在执行此操作时遇到了困难,因为我的列表在每个位置后面都包含一个“\n”。我尝试浏览列表并通过将原始列表中的\n 删除为不带\n 的不同列表来更改每个列表。

我试过lists.strip("\n")但它似乎对我不起作用。

def gotoprocess():

with open("one.txt", "r") as rp:
print(rp.readlines())

lists = rp.readlines()

while True:
for i in range(len(lists)):
lists[i]

if lists[i] == lists[-2]:
break
print(lists)

我期望一个看起来像这样的列表

['(-300.00,300.00)','(-200.00,200.00)']

但数量更多。我得到的是这个

['(-300.00,300.00)\n', '(-200.00,200.00)\n', '(-100.00,300.00)\n', '(-100.00,100.00)\n', '(-300.00,100.00)\n', '(-300.00,300.00)\n', '(-200.00,200.00)\n']

最佳答案

strip("\n") 应该可以工作。
但你可能犯了两件事:

  1. strip()是一个字符串方法,它应该应用于字符串元素 (lists[i].strip("\n")),而不是应用于列表 (lists.strip("\n") ”))
  2. strip() 返回修改后的字符串的副本,它不会修改原始字符串

您可以做的是使用剥离的字符串创建一个新列表:

lists = ['(-300.00,300.00)\n','(-200.00,200.00)\n', '(-100.00,300.00)\n','(-100.00,100.00)\n', '(-300.00,100.00)\n','(-300.00,300.00)\n', '(-200.00,200.00)\n']
locs = []

for i in range(len(lists)):
locs.append(lists[i].strip("\n"))

print(locs)
# ['(-300.00,300.00)', '(-200.00,200.00)', '(-100.00,300.00)', '(-100.00,100.00)', '(-300.00,100.00)', '(-300.00,300.00)', '(-200.00,200.00)']

您可以使用列表理解进一步简化循环:

locs = [loc.strip("\n") for loc in lists]

print(locs)
# ['(-300.00,300.00)', '(-200.00,200.00)', '(-100.00,300.00)', '(-100.00,100.00)', '(-300.00,100.00)', '(-300.00,300.00)', '(-200.00,200.00)']

关于python - 如何从字符串列表中删除\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54066813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com