gpt4 book ai didi

python - 列表没有属性条

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:14 24 4
gpt4 key购买 nike

我正在从文件中读取并将每个字符存储在二维数组中。我试图去掉每行末尾的“\n”。到目前为止我的代码是:

l = []
for i in range(5):
l.append([])
f = open('file.txt','r')
count = 0
for line in f:
for char in line:
l[count].append(char)
count += 1

f.close()

l[0].rstrip('\n')

我尝试代替l[0].rstrip('\n'):

l = map(lambda s: s.strip('\n'), l)l = [i.rstrip() for i in l ]

其中每个都返回列表没有属性 strip(或 rstrip)的错误。有没有什么办法解决这一问题?

最佳答案

l 是一个列表列表。因此,如果您调用 l[0].rstrip(),您就可以在子列表上使用 rstrip()。但即使 strip() 有效,您也不会看到任何差异,因为字符串是不可变的,因此它将返回一个字符串,而不是更新旧字符串.

但是您可以轻松使用:

l[0] = [x.rstrip('\n') for x in l[0]]

仅更新l[0]

如果您想更新所有子列表,可以使用以下列表理解:

l = [[x.rstrip('\n') for x in s] for s in l]

此外,将文件读入内存的代码非常奇怪:只有当文件少于六行时它才会起作用。您可以使用以下方法:

with open('file.txt','r') as f:
l = [list(line.rstrip('\n')) for line in f]

这将替换问题中的整个代码片段。

关于python - 列表没有属性条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42303664/

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