[英]In Python, how do you create a 2D list from a file and assign a type to each item in each sublist?
[英]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.