【发布时间】:2019-03-23 11:36:03
【问题描述】:
我已经搜索 stackoverflow 几个小时了,但没有找到解决问题的方法。我有一个函数,我希望输出是字典,但我只能让它打印第一个键 + 值。 “yield”语句由于某种原因不起作用,所以我想知道是否有另一种方法可以做到这一点。
这是我的代码:
def myfunc(somedict):
x = list(somedict.values())
for i in x:
data = dict_from_otherfunc(i)
mylist = [float(max(data.values()))]
mydict = dict(zip([i], mylist))
return mydict
这会返回一个如下所示的字典:
{'abc': 1}
当我输入 print 而不是 return 时,我得到了所需的输出。我怎样才能让这段代码返回一个包含所有值而不是只有一个值的字典?
编辑: 尝试在 for 循环之外返回,这仅返回我的字典的 last 值。
【问题讨论】:
-
您在
return循环内for,因此函数在将第一个值存储在字典中后退出。 -
SO 不是您来学习如何使用“for”循环的地方。找到一个好的编程资源,学习和练习一些编码。
标签: python python-3.x dictionary return