尝试创建一个函数,从字典中返回值列表。如果每周给植物浇水,它会被添加到列表中,然后分类返回。但是,我的代码会迭代“weekly”的每个字母,而不是整个字符串,我不知道如何访问字典项的频率。如有任何解释,将不胜感激。你知道吗
def weekly(plants_d):
d = []
for plant in plants_d:
for plan in plants_d[plant]:
if plan == "weekly":
d.append[plan]
return sort(d)
weekly({'fern':'weekly', 'shamrock':'weekly', 'carnation':'weekly'})
# Should return like this: ['carnation','fern','shamrock']
修改之前的答案,以便仅使用带“weekly”的值:
实现这一点的简化方法是使用} 作为:
dict.keys()
,它返回dict
中所有键的列表。为了对列表进行排序,可以使用^{编辑:如果有些计划是月度计划,则首先使用
filter
或dict comprehension过滤月度计划。你的代码应该是这样的:这条线:
这是错误的。因为
plants_d[plant]
是一个类似于"weekly"
的字符串,所以它将遍历字符串中的字母。当你做
if plan == "weekly":
时,它永远不会匹配,因为plan
只是一个像"w"
一样的字母。你知道吗您可以简单地使用:
或者可以将第一个循环更改为:
见Iterating over dictionaries using 'for' loops
相关问题 更多 >
编程相关推荐