我需要创建一个python函数,从一个名为“food.txt”的文件中读取和列出杂货,这样当找到文本文件中的新行时,就会创建一般列表中的新列表分组。
food.txt:
milk
cheese
bread
steak
chicken
potatoes
^每个单词应该在各自的行上,组之间有一个新行
输出:[['牛奶','奶酪','面包'],['牛排','鸡','土豆']]
到目前为止,我有: def build_grocery_list(file_name):
outer_list=[]
inner_list=[]
food_list=open(file_name,"r")
for line in food_list:
line.strip('\n') # no white spaces in the list
答案 0 :(得分:0)
试试这个(这里是gist):
list_of_lists=[]
category=0
list_of_lists.append([])
f = open(file_name,'r')
for line in f.readlines():
item = line.strip('\n') # no white spaces in the list
if len(item) > 0:
#add to current category
list_of_lists[category].append(item)
else:
#add new category
list_of_lists.append([])
category = category + 1
f.close()
答案 1 :(得分:0)
这是一个好的开始!您可以检查您正在阅读的行是否为空(len(line.strip('\n')) > 0
)如果不是,请将行内容附加到inner_list
,如果该行为空,请将完整inner_list
追加到{ {1}}并以新的outer_list
开始。