Словарь Python с ключом двойных значений, нужно найти максимальное и минимальное значение

У меня есть словарь с несколькими уникальными ключами и значениями формата {'movieID': [val1, val2]}. Я хочу распечатать идентификатор фильма с максимальным значением1 и минимальным значением2. Val1 — это рейтинг, данный женщиной, а Val2 — это рейтинг, данный мужчиной. Любые предложения/решения? Используя это в hadoop mapreduce с картографом и редуктором python.


person Ali    schedule 12.05.2017    source источник


Ответы (1)


Вам не нужно использовать хауп:

>>> 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'
>>> 
person A.J. Uppal    schedule 12.05.2017
comment
Это дает мне отдельный идентификатор фильма. С максимальным значением1 и значением2. Или, в каком-то смысле, мне нужен идентификатор фильма с максимальной разницей между val1 и val2. Как я могу это сделать? - person Ali; 12.05.2017
comment
Большое спасибо @A.J #key is movieID, val1 может быть >или‹, чем val2 для ключа в combinedDict.keys(): [0]-combinedDict[ключ][1] в сочетанииF[ключ]=diff - person Ali; 12.05.2017