Что у вас есть список списков, не кортежи, участвующих здесь, Вы можете также сделать это с помощью комбинации встроенных методов map
и sorted
:
>>> data = [[8,7], [10,5,], [8,10]]
>>>
>>> list(map(sorted, data))
[[7, 8], [5, 10], [8, 10]]
в Python3, map
возвращает итератор, поэтому, если вам это нужно, как список, вам нужно преобразовать его обратно с list
, в противном случае, если вы используете его в петля t не нужно переводить его в список. Это экономит память таким образом.
Edit:
Ответ на ваш комментарий, вы можете сделать что-то вроде:
>>> def f(lst):
lst = sorted(lst)
return(lst[0], lst)
>>> print(*map(f, data))
(7, [7, 8]) (5, [5, 10]) (8, [8, 10])
Или более компактный, но менее читабельный:
>>> print(*map(lambda lst: '{} - {}'.format(lst[0], lst), map(sorted, data)), sep='\n')
7 - [7, 8]
5 - [5, 10]
8 - [8, 10]
FYI: Это 'список()' s, которые используют квадратные скобки, а не 'tuple()' s, которые используют круглые скобки. –