Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 19, 2016 10:26:38

Gattaka
Зарегистрирован: 2016-12-19
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Мапинг числа на другой набор чисел

Коллеги,
Простой казалось бы вопрос. У меня есть массив массивов:

 [[2,3,5,6,7],
  [5,6,1,2,3]]
Я хочу из этого массива сделать мапинг, заменив числа другими. То есть 2->0, 3->1, 5->2. Чтобы в итоге получилось:
 [[0,1,2,3,4],
  [2,3,5,0,1]]
Как такое делают на питоне? Спасибо!

Отредактировано Gattaka (Дек. 19, 2016 10:27:06)

Офлайн

#2 Дек. 19, 2016 10:39:11

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9993
Репутация: +  857  -
Профиль   Отправить e-mail  

Мапинг числа на другой набор чисел

  
>>> def tr(lst):
...     d = {2: 0,
...          3: 1,
...          5: 2}
...     return [d.get(i, i) for i in lst]
... 
>>> lst = [[2, 3, 5, 6, 7],
...        [5, 6, 1, 2, 3]]
>>> 
>>> list(map(tr, lst))
[[0, 1, 2, 6, 7], [2, 6, 1, 0, 1]]
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version