我已经搜索stackoverflow几个小时了,却没有找到解决问题的方法。我有一个函数,我希望输出是一个字典,但我只能让它打印第一个键+值。出于某种原因,“屈服”声明不起作用,所以我想知道是否有其他方法可以做到这一点。
这是我的代码:
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}
当我把打印而不是返回时,我得到了所需的输出。如何使此代码返回包含所有值而不是仅包含一个值的字典?
编辑: 尝试在for循环外返回,这只返回我的字典的最后一个值。
编辑:如果我理解正确,问题在于
for
循环本身。您在每次迭代中都设置mydict的值,所以它当然只返回其中一个。现在,我还不能完全确定我是否理解你的想法,但如果我明白了,我建议你试试这样的方法:
这也会从重命名变量中受益,但我假设这只是一个例子。
相关问题 更多 >
编程相关推荐