0

「food.txt」というファイルから食料品を読み取って一覧表示する python 関数を作成する必要があります。これにより、テキストファイルに新しい行が見つかるたびに、一般的なリスト内にグループ化された新しいリストが作成されます。

food.txt:

milk
cheese
bread

steak
chicken
potatoes

^ 各単語は、グループ間に 1 つの改行を入れて、独自の行に配置する必要があります

出力: [['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_listに追加outer_listして、新しい で開始しinner_listます。

于 2012-11-16T18:03:47.880 に答える