gpt4 book ai didi

python - 迭代列表时出现 KeyError

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:31 24 4
gpt4 key购买 nike

如果这是一个愚蠢的问题,我很抱歉,但我一直在思考这个问题并查看了 Jinja 文档,但到目前为止没有任何结果。简短背景:我刚刚完成了 Udacity 的 CS101 和 CS253,即将帮助 friend 建立 Yaga 工作室的预订系统。一切都在 Google Appengine 上,就像

我想要一个与此类似的可用 Yaga 类(class)列表:

Monday

Dynamic Yoga with Mary 6pm

Soft yoga with Susie 8pm

Wednesday

Hatha yoga with Bob 5pm

Hot yoga with Alice 7pm

所以我想获取类(class)列表,然后看看周一是否有 Yaga 课。如果有的话,我会将“星期一”添加到列表中,以及所有星期一的类(class),等等所有其他日期。像这样:

day_output1 = ['星期一',['下午 6 点与玛丽一起做动态 Yaga '],['与苏一起做软 Yaga ..']]

day_output2 = ['Wednesday',['Hatha yoga with Bob 5pm'],['Hot yoga with Al...']]

然后将这些添加到整周的列表中,然后将其发送到模板:

weekly_classes = [day_output1, day_output2]

现在我收到一个 KeyError,这意味着它找不到 key ,但我不明白为什么?

  File "/Users/username/YogaSchemat/yogaschema/main.py", line 113, in get
day = d[n]
KeyError: 1

使用此代码...提前感谢大家!

d = {
"1": 'Monday',
"2": 'Tuesday',
"3": 'Wednesday',
"4": 'Thursday',
"5": 'Friday',
"6": 'Saturday',
"7": 'Sunday'
}
def get_classes():
yoga_classes = Schema.all() #appengine DB request
if yoga_classes:
weekly_classes = [] #list that will be sent to template
for n in range(1,8):
for e in yoga_classes:
if e.weekday == n:
day = d[n] #getting weekday from d
class_details = [] #
class_details.append(e)
day_output = [day,class_details]
weekly_classes.append(day_output)
self.response.out.write(weekly_classes)

最佳答案

您在 d 映射中使用字符串键,但正在查找整数

在这种情况下,您应该使用列表:

d = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

# ...
for n in range(7):
day = d[n]

n 介于 0 和 6 之间,直接映射到 d 列表中这些位置的星期名称。

或者,您可以使用整数作为键:

d = {
1: 'Monday',
2: 'Tuesday',
3: 'Wednesday',
4: 'Thursday',
5: 'Friday',
6: 'Saturday',
7: 'Sunday'
}

但是由于您的键是连续的,因此您也可以节省空间。

关于python - 迭代列表时出现 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15099244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com