Мое решение предполагает, что вам нужен только самый высокий номер, а не идентификатор, связанный с ним.
Я бы прочитал коды идентификации и цифры в словаре, как это было предложено Мэтью
NEW_LIST = []
ID2NUM = {}
with file('codes') as codes:
for line in codes:
id, num = line.rstrip().split()
ID2NUM[id] = num
Я добавил несколько чисел, чтобы у каждого идентификатора было значение.Мой ID2NUM
выглядит следующим образом:
{'abc': 2.9300000000000002,
'ghi': 3.8700000000000001,
'ghy': 1.2,
'hgi': 0.40000000000000002,
'kop': 4.3499999999999996,
'lmn': 5.96}
Затем обрабатывает список li
:
for l in li:
NEW_LIST.append(max([d[x] for x in l]))
>>> NEW_LIST
[5.96, 4.3499999999999996, 1.2]
Чтобы записать новый список в файл, по одному в строке:
with file('new_list', 'w') as new_list:
new_list.write('\n'.join(NEW_LIST))