读取文件内容时在列表中创建列表的程序

2024-03-29 09:21:05 发布

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

我已经找到了以下问题的解决方案,但是我想理解为什么我下面的代码会在一个列表中创建一个字符串列表,也就是说,将这个字符串列表作为外部列表中的唯一元素

我有一个.txt文件,我正在阅读,其中包括大约25个句子。这只是一个很长的段落,所以我想把它分成几个句子,以句号分隔。 我最初使用此代码执行此步骤:

file = open("love_life.txt", "r")

list_of_sentences = []
for line in file:
    new = line.split('.')
    list_of_sentences.append(new)
file.close()
print(list_of_sentences)

我希望这将创建一个字符串列表,每个字符串表示一个以句号分隔的句子。但是,尽管它确实创建了一个字符串/句子列表,它还是将其包含在另一个列表中。因此,当我试图迭代列表时,我只是在嵌套列表上迭代了一次。像这样的输出:

[["lifeguards save lives", "time is of the essence", "the wind blows where it wants"]]

有人能告诉我为什么这个代码会发生这种情况吗


2条回答

这是因为line.split('.')返回一个列表,并且list_of_sentences.append(new)将该列表添加到list_of_sentences。也许你想用list_of_sentences.extend(new)来代替?这将把{}的每个元素添加到{}中

如果不想以列表结束,则应使用extend()

    file = open("love_life.txt", "r")

    list_of_sentences = []
    for line in file:
        new = line.split('.')
        list_of_sentences.append(new)
    file.close()
    print(list_of_sentences)

相关问题 更多 >