簡體   English   中英

在Python中,如何從文件創建列表?

[英]In Python, how do you create a list from a file?

我正在嘗試創建一個列表,其中文件的每一行都是該行中單詞的自己的列表。 因此,例如,如果文件讀取:

apples oranges bananas

kale spinach

carrots tomatoes celery broccoli

然后,我希望列表顯示為:

l = [[["apples"], ["oranges"], ["bananas"]], [["kale"], ["spinach"]], [["carrots"], ["tomatoes"], ["celery"], ["broccoli"]]]

最好的方法是什么? 閱讀線?

您可能會這樣。

with open(file) as f:
    print [[[j] for j in i.split()] for i in f if i]

例:

>>> s = '''apples oranges bananas

kale spinach

carrots tomatoes celery broccoli'''.splitlines()
>>> [[[j] for j in i.split()] for i in s if i]
[[['apples'], ['oranges'], ['bananas']], [['kale'], ['spinach']], [['carrots'], ['tomatoes'], ['celery'], ['broccoli']]]

您可以這樣做,如下所示:

L = []
with open('words.txt','r') as f:
    for line in f:
        L.append(line.split())

當我嘗試向@AvinashRaj解釋時,您將需要使用not i.isspace()類的東西來過濾出空行(因為它們仍然包含換行符)

with open(file) as fin:
    print [[[j] for j in i.split()] for i in fin if not i.isspace()]

with塊稱為上下文管理器。 一旦到達塊的末尾,它將關閉fin

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM