Python 具有双值键的字典,需要找到最大值和最小值
Python Dictionary with dual values key, need to find maximum and minimum value
我有一个字典,其中包含多个格式为 {'movieID':[val1,val2]} 的唯一键和值。我想用最大 val1 和最小 val2 打印出 movieID。 Val1 是女性给出的评分,Val2 是男性给出的评分。
有 suggestions/solutions 吗?
在具有 python 映射器和缩减器的 hadoop mapreduce 中使用它。
您不需要使用 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'
>>>
我有一个字典,其中包含多个格式为 {'movieID':[val1,val2]} 的唯一键和值。我想用最大 val1 和最小 val2 打印出 movieID。 Val1 是女性给出的评分,Val2 是男性给出的评分。 有 suggestions/solutions 吗? 在具有 python 映射器和缩减器的 hadoop mapreduce 中使用它。
您不需要使用 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'
>>>