加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何将字典作为值传递给python中的函数

发布时间:2020-12-20 13:34:19 所属栏目:Python 来源:网络整理
导读:在 python中,我使用的是mincemeat map-reduce框架 从我的map函数中我想在循环中产生(k,v),它会将输出发送到reduce函数(给出的样本数据是map函数的输出) auth3 {'practical': 1,'volume': 1,'physics': 1} auth34 {'practical': 1,'chemistry': 1}.... 会有很
在 python中,我使用的是mincemeat map-reduce框架

从我的map函数中我想在循环中产生(k,v),它会将输出发送到reduce函数(给出的样本数据是map函数的输出)

auth3 {'practical': 1,'volume': 1,'physics': 1} 
auth34 {'practical': 1,'chemistry': 1}
....

会有很多这样的条目;这只是一些例子.

这里,auth3和auth34是键,各自的值是字典项

当我尝试打印键,值时,在reduce函数内部,我得到“太多值来解压缩”错误.我的reduce函数看起来像这样

def reducefn(k,v):     
    for k,val in (k,v):
        print k,v

请让我知道如何解决此错误.

解决方法

首先,使用python内置字典定义您的字典

>>> dic1 = dict(auth3 = {'practical': 1,'physics': 1},auth34 = {'practical': 1,'chemistry': 1} )
>>> dic1
{'auth3': {'practical': 1,'auth34': {'practical': 1,'chemistry': 1}}

然后,您的reduce函数可能会变为

def reducefn(dictofdicts):     
    for key,value in dictofdicts.iteritems() :
        print key,value

到底,

>>> reducefn(dic1)
auth3 {'practical': 1,'physics': 1}
auth34 {'practical': 1,'chemistry': 1}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读