创建一个在单独行中包含项目的列表

2024-05-18 23:28:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个记事本文本文件和一个名字列表

例如

raymond james  
warren buffett  
ernest giles  
william blair  

如何将其转换为一个列表,其中每个列表项都是每行的全名。
所以我的清单是:

['raymond james', 'warren buffet', 'ernest giles', 'william blair']

Tags: 列表名字buffet文本文件william记事本jameswarren
3条回答

在Python中,以文本形式打开的文件在其行上是可编辑的。因此,最简单的解决办法是

with open('myfile.txt') as f:
     my_list = list(f)

这比使用readlines要好,因为迭代器会剥离换行,而readlines不会。你知道吗

如其他答案所示,如果您想从每行中去掉额外的空格,您可以使用理解:

with open('myfile.txt') as f:
     my_list = [line.strip() for line in f]

map

with open('myfile.txt') as f:
     my_list = list(map(str.strip, f))

我建议您使用strip()来避免换行符和尾随空格。在这种情况下不需要readlines()

with open('file.txt', 'r') as f:
    lines = [line.strip() for line in f]

print(lines)  # ['raymond james', 'warren buffet', 'ernest giles', 'william blair']

或者,如果您不喜欢列表理解,也可以使用map(),如下所示:

with open('file.txt', 'r') as f:
    lines = list(map(str.strip,f))

print(lines)

只需在读取模式下打开文件,然后使用readlines()方法:

with open('your_file.txt', 'r') as myfile:

    lines = myfile.readlines()

您可以使用简单的列表理解来删除换行符(\n):

lines = [i.strip() for i in lines]

相关问题 更多 >

    热门问题