我是一個新手,所以如果我忽略了一些基本的東西,請耐心等待,但我正在嘗試爲我的朋友的瑜伽工作室列出瑜伽課程,該概念上應該看起來像這個:創建嵌套列表的問題
Monday
Dynamic Yoga with Mary 6pm
Soft yoga with Susie 8pm
Wednesday
Hatha yoga with Bob 5pm
Hot yoga with Alice 7pm
所以我想取得班的名單,然後看看週一是否有瑜伽課。如果有的話,我會在星期一和星期一的所有課程中添加「星期一」,以此類推。
問題:
到目前爲止我的代碼追加全部那裏有瑜伽班的日子,但隨後將所有從整週的班每天,當他們應該只添加對應於每個類天。
I.e.當它應該是:
Monday_list = [Monday, [[Class1Monday],[Class2Monday]]
它來代替:
Monday_list [Monday, [[CLass1Monday],[CLass2Monday],[CLass1Tuesday],[CLass2Tuesday]]]
這是我的代碼(這是對谷歌應用程序引擎,它可以在代碼解釋一些怪異...):
def get_classes():
weekly_classes = []
d = {1: 'Monday',
2: 'Tuesday',
3: 'Wednesday',
4: 'Thursday',
5: 'Friday',
6: 'Saturday',
7: 'Sunday'}
yoga_classes = Schema.all() #appengine DB request
if yoga_classes:
#list that will be sent to template
for n in range(1,8):
day_classes = []
for e in yoga_classes:
if e.weekday == n:
day = d[n]
class_output = [str(e.name),
str(e.teacher),
str(e.description)
]
day_classes.append(class_output)
day_output = [day,day_classes]
weekly_classes.append(day_output)
self.response.out.write(weekly_classes)
這可以寫得更簡潔,但不應該'day_classes.append(class_output)'有更多級別的縮進嗎? – 2013-02-26 23:07:44
@StevenRumbalski謝謝!沒有完全解決整個問題,但刪除了一些多餘的列表條目。小心給我提示如何使它更簡潔。這是我自己做的第一個獨立項目,因爲我做了Udacity的在線課程CS253,所以我很高興指出我應該朝哪個方向發展:) – 2013-02-26 23:15:05
@StevenRumbalski實際上,那個縮進解決了所有問題,除了一個煩人事情。我的數據庫表格現在由星期一至星期四的瑜伽課程組成。然而,該列表在最後輸出['Thursday',[]],['Thursday',[]],['Thursday',[]]]。我想因爲範圍(1,8)使其追加,直到迭代完成。如果當天沒有課程,我怎麼能使它不會被追加? – 2013-02-26 23:34:34