Форум сайта python.su
Можно применить функцию для всех элементов:
list = map(func, list)
Но как применить функцию допустим к 2м элементам
Для примера список:
[['1','2','3','4'],['1','2','3','4'],['1','2','3','4']]
Отредактировано Xion (Янв. 18, 2016 15:33:29)
Офлайн
857
>>> lst = [['1', '2', '3', '4'], ... ['5', '6', '7', '8'], ... ['9', '10', '11', '12']] >>> >>> out = [[i.index(j) >= 2 and j or int(j) for j in i] for i in lst] >>> out [[1, 2, '3', '4'], [5, 6, '7', '8'], [9, 10, '11', '12']] >>>
Отредактировано py.user.next (Янв. 18, 2016 15:46:03)
Офлайн
Спасибо, с помощью вашего ответа я нашел чуть более наглядное решение:
lst = [['1', '2', '3', '4'], ['5', '6', '7', '8'], ['9', '10', '11', '12']] out = [[int(j) if i.index(j)<=1 else j for j in i] for i in lst] print(out) [[1, 2, '3', '4'], [5, 6, '7', '8'], [9, 10, '11', '12']]
Офлайн
857
XionНе, это поведение известно ещё с lisp'а.
возможно даже уникальное среди языков программирования
Офлайн