【问题标题】:Python Dictionary with dual values key, need to find maximum and minimum value具有双值键的 Python 字典,需要找到最大值和最小值
【发布时间】:2017-10-11 05:36:47
【问题描述】:

我有一个包含多个唯一键和值的字典,格式为 {'movieID':[val1,val2]}。我想用 max val1 和 min val2 打印出movieID。 Val1 是女性给出的评级,Val2 是男性给出的评级。 有什么建议/解决方案吗? 在 hadoop mapreduce 中使用它与 python mapper 和 reducer。

【问题讨论】:

    标签: python hadoop dictionary mapper reducers


    【解决方案1】:

    你不需要使用hadoop:

    >>> data = {'614d5a7ed90f43e5b062dbc3afa7f5b1': [7, 14], 'aa9b80ae387e40f5bc351c3ec3f82143': [9, 7], '49f2c238c2f144fab4468faa091e4620': [13, 18], '1c9ea5622aef41e696102d49eb59691e': [17, 18], '8a86455812eb48e4a7c8b13e55192a3f': [5, 18], 'ad5e4bc4b729432482fec1d03510caee': [8, 9], '6ace5755bff2410db2dcf1a45202b273': [11, 16], '571c38be6f0a4748b2400def38f7443c': [1, 6], 'd110b65111bf4737b3ca5a4c10fbd420': [11, 11], '6f6c930ea04d468c934be7c78a739ec8': [13, 13]}
    >>> max(data, key=lambda x: abs(data[x][1]-data[x][0])) #ID with greatest difference
    '8a86455812eb48e4a7c8b13e55192a3f'
    >>> 
    

    【讨论】:

    • 它给了我单独的电影ID。具有最大值 val1 和 val2。或者在某种程度上,我想要的是在 val1 和 val2 之间具有最大差异的电影 ID。我该怎么做?
    • 非常感谢@AJ #key 是movieID,对于combinedDict.keys() 中的键,val1 可以>或combinedDict[key][1 ]: diff=combinedDict[key][0]-combinedDict[key][1] combinedF[key]=diff
    猜你喜欢
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 1970-01-01
    • 2012-04-14
    • 2015-09-12
    • 1970-01-01
    相关资源
    最近更新 更多