Как отсортировать кортеж по списковому значению? - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть такая структура:

players={ 'Player one': [3, 0], 'Player two': [13, 1], 'Player three': [29, 0], 'Player four': [19, 5] }

Первое число в списке - это количество игр, а следующее - количество голов.

Чтобы отсортировать массив поколичество игр, которые я просто использую:

print sorted(players.items(), key=lambda kv:(kv[1], kv[0]),reverse=True)

Это прекрасно работает, но я не нашел способа отсортировать по количеству голов (второе число в списке).Какой самый простой способ сделать это?

Ответы [ 2 ]

1 голос
/ 26 апреля 2019

Вы можете отсортировать только по второму номеру списка с помощью этого:

sorted(players.items(), key=lambda kv: kv[1][1], reverse=True)

Где lambda kv: kv[1][1] в основном извлекает второе [1] значение каждого списка kv[1]

0 голосов
/ 26 апреля 2019

Вы можете просто указать поиск по второму индексу:

players={ 'Player one': [3, 0], 'Player two': [13, 1], 'Player three': [29, 0], 'Player four': [19, 5] }

sorted(players.items(), key=lambda kv:(kv[1][1], kv[0]),reverse=True))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...