0

我需要创建一个 python 函数,该函数从名为“food.txt”的文件中读取和列出杂货,这样当在文本文件中找到新行时,就会在通用列表中创建一个新的列表分组。

食物.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
4

2 回答 2

0

试试这个(这是一个要点):

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()
于 2012-11-16T18:00:08.700 回答
0

这是一个好的开始!您可以检查您正在阅读的行是否为空(len(line.strip('\n')) > 0)如果不是,则将行内容附加到inner_list,如果为空,则将完整附加inner_listouter_list并以新的inner_list.

于 2012-11-16T18:03:47.880 回答