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

时间:2018-08-20 15:21:01

标签: python list

我有一个带有名称列表的记事本文本文件

例如

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

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

Android.Arch.Lifecycle

3 个答案:

答案 0 :(得分:5)

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

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

    lines = myfile.readlines()

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

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

答案 1 :(得分:2)

我建议您使用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)

答案 2 :(得分:2)

在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))