Python:读取文本文件并拆分为不同的列表

Python:读取文本文件并拆分为不同的列表,python,list,file,text,Python,List,File,Text,我有一个文本文件,其中包含两行文本。每行包含学生姓名,以逗号分隔 我正试图写一个程序,它将读取每一行并将其转换为一个列表。我的解决方案似乎有两个列表,但我不知道如何区分这两个列表,因为这两个列表都称为“文件列表”。例如,我可能需要附加到第二个列表中。我如何区分这两者 或者,它是否可以创建具有不同名称的完全独立的列表?我希望程序能够理想地处理文本文件中的许多行 我的代码是: filelist=[] with open("students.txt") as students:

我有一个文本文件,其中包含两行文本。每行包含学生姓名,以逗号分隔

我正试图写一个程序,它将读取每一行并将其转换为一个列表。我的解决方案似乎有两个列表,但我不知道如何区分这两个列表,因为这两个列表都称为“文件列表”。例如,我可能需要附加到第二个列表中。我如何区分这两者

或者,它是否可以创建具有不同名称的完全独立的列表?我希望程序能够理想地处理文本文件中的许多行

我的代码是:

    filelist=[]

    with open("students.txt") as students:

            for line in students:

                    filelist.append(line.strip().split(","))


    print(filelist)

您必须创建一个多维数组,如下所示:

text = open("file.txt")

lines = text.split("\n")
entries = []
for line in lines:
    entries.append(line.split(","))
如果你的文件是

John,Doe
John,Smith
届时参赛作品将包括:

[["John", "Doe"], ["John", "Smith"]]

您必须创建一个多维数组,如下所示:

text = open("file.txt")

lines = text.split("\n")
entries = []
for line in lines:
    entries.append(line.split(","))
如果你的文件是

John,Doe
John,Smith
届时参赛作品将包括:

[["John", "Doe"], ["John", "Smith"]]

在您的代码中,filelist将被视为列表的列表,因为您在其中附加了一个列表,而不是一个元素,
考虑做<代码>文件> +=行.d).S拆(“,”),它将在代码中连接列表

,文件列表将被视为列表,因为您将列表追加到列表中,而不是元素, 考虑做<代码>文件> +=行。
with open("file.txt") as f:
    qlist = map(lambda x:x.strip().split(","), f.readlines())

有两行要做

with open("file.txt") as f:
    qlist = map(lambda x:x.strip().split(","), f.readlines())


如果希望为每一行创建一个列表,可以使用字典,其中键是行号,字典条目的值是该行的名称列表。像这样的

with open('my_file.txt', 'r') as fin:
    students = {k:line[:-1].split(',') for k,line in enumerate(fin)}

print students

第[:-1]行用于删除每行末尾的回车符

如果您希望获得每行的列表,可以使用字典,其中键是行号,字典条目的值是该行的名称列表。像这样的

with open('my_file.txt', 'r') as fin:
    students = {k:line[:-1].split(',') for k,line in enumerate(fin)}

print students


第[:-1]行的作用是去掉每行末尾的回车符

如果您希望它处理任意数量的行,那么您将无法每次创建不同的列表。在这种情况下,您很可能需要一个嵌套列表。您能准确显示studentds.txt中的内容吗?丽贝卡、莎拉、马修、查理·珍妮、马修、劳拉、尼克对不起,第一行应该有4名学生,第二行应该有4名学生!你想让每一行都在它自己单独的列表中吗?如果你想让它处理任意数量的行,那么你就不能每次创建一个不同的列表。在这种情况下,您很可能需要一个嵌套列表。您能准确显示studentds.txt中的内容吗?丽贝卡、莎拉、马修、查理·珍妮、马修、劳拉、尼克对不起,第一行应该有4名学生,第二行应该有4名学生!您希望每一行都有自己的单独列表吗?为什么不直接使用
filelist.extend()
?@Mr.goosberry与前面提到的差不多:为什么不直接使用
filelist.extend()
?@Mr.goosberry与前面提到的差不多:谢谢,那么,如果我希望附加到任何一个列表中,我将如何区分这些列表?这个答案不正是问题中的代码所做的吗?@Computing102只是使用列表索引。如果你想知道你的名字,比如说,第5行。只需对entires[5]中的name说
@Computing102:
条目
只是一个列表,它恰好由另外两个列表组成。你可以访问它的元素和其他任何列表:<代码>条目[0 ] < /代码>将返回<代码> [ [约翰],“DOE”] /代码>和<代码>条目[1 ] < /代码>将返回<代码> [约翰],“史米斯”] />代码> @ Cuttual102。如果这个答案被解决,或者帮助解决了你的问题,那么考虑接受它。谢谢,那么,如果我希望附加到任何一个列表中,我将如何区分这些列表?这个答案不正是问题中的代码所做的吗?@Computing102只是使用列表索引。如果你想知道你的名字,比如说,第5行。只需对entires[5]中的name说
@Computing102:
条目
只是一个列表,它恰好由另外两个列表组成。你可以访问它的元素和其他任何列表:<代码>条目[0 ] < /代码>将返回<代码> [ [约翰],“DOE”] /代码>和<代码>条目[1 ] < /代码>将返回<代码> [约翰],“史米斯”] />代码> @ Cuttual102。如果这个答案被解决,或者帮助解决了你的问题,那么考虑接受它。