【问题标题】:Reading words from a file and putting into list从文件中读取单词并放入列表
【发布时间】:2016-08-10 22:39:11
【问题描述】:

基本上,我有一个巨大的文件,所有文件包含每行多个单词,每个单词用空格分隔。有点像这样:

WORD WORD WORD WORD
ANOTHER
WORD SCRABBLE BLAH
YES NO 

我想要做的是将文件中的所有单词放入一个巨大的列表中,我尝试使用 split 但这并没有考虑到新行(\n)

【问题讨论】:

    标签: python string file loops python-3.x


    【解决方案1】:

    通过for line in f 读取会在换行符上拆分,它在内存方面很有效(一次读取一行),但将所有内容放在一个巨大的列表中却不是。无论如何,如果你坚持:

    huge_list = []
    
    with open(huge_file, "r") as f:
        for line in f:
            huge_list.extend(line.split())
    

    要将整个文件作为字符串读入内存,请改用f.read()

    huge_list = []
    
    with open(huge_file, "r") as f:
        huge_list = f.read().split()
    

    输入文件(用空格和换行符分隔的单词):

    WORD WORD WORD WORD
    ANOTHER
    WORD SCRABBLE BLAH
    YES NO 
    

    两个例子的输出:

    >>> huge_list
    ['WORD', 'WORD', 'WORD', 'WORD', 'ANOTHER', 'WORD', 'SCRABBLE', 'BLAH', 'YES', 'NO']
    >>> 
    

    【讨论】:

    • 我想把每个单词作为它自己的元素放入巨大的列表中,如果可能的话,不是每一行,例如它会是 ['word','another', 'word', 'etc' ]
    • @user2918356 我不确定我是否理解。我发布的两个示例将行分开并将每个单词放入一维huge_list。你试过运行它吗?
    • @user2918356 ['word','another', 'word', 'etc'] 正是输出的样子。
    猜你喜欢
    • 2011-10-28
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多