2016-08-25 3 views
0

У меня есть этот список списков:Сортировка списка списков

data = [['john','1','2', 2.45434], ['jack','1.3','2.2', 4.45434], 
     ['josh','2','3', 3.45434]] 

Я хочу, чтобы отсортировать его последнего десятичного числа в каждом внутреннем списке. Как я могу это сделать?

+0

В вашем случае индекс '-1' вместо' 1', но концепция такая же, как и для дубликата. – zondo

ответ

1

Вы можете указать key в функции sorted как последний элемент из подсписков:

sorted(data, key = lambda x: x[-1]) 

# [['john', '1', '2', 2.45434], 
# ['josh', '2', '3', 3.45434], 
# ['jack', '1.3', '2.2', 4.45434]] 
0

Вы можете отсортировать существующий список «данных» по .sort() функции list используя lambda функцию:

data = [['john','1','2', 2.45434],['jack','1.3','2.2', 4.45434], ['josh','2','3', 3.45434]] 
data.sort(key=lambda x: x[-1]) 
# data = [['john', '1', '2', 2.45434], ['josh', '2', '3', 3.45434], ['jack', '1.3', '2.2', 4.45434]] 
Смежные вопросы