有序的清单清单

时间:2012-11-16 17:53:03

标签: python-3.x nested-lists

我需要创建一个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

2 个答案:

答案 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开始。