Возврат Вложенного списка Мин. / Макс. Значения - PullRequest
0 голосов
/ 31 января 2019

Я искал stackoverflow и нашел похожий запрос, так как не смог его зафиксировать.У меня есть вложенный список, такой как

[[12, 16], [0, 18], [12, 20], [12, 24], [0, 28], [28, 32], [0, 36], [12, 40], [32, 44], [12, 48]]

Я пытаюсь получить пару чисел, которые содержат значение min для первого элемента и max для второго, где оба встречаются в одной и той же паре.В приведенном выше случае правильный возврат должен быть [0,36].Я проводил тестирование с приведенным ниже утверждением, которое я нашел в stackoverflow.Кажется, это не возвращает того, что я ожидал, я знаю, что, возможно, что-то упустил.Когда я выполняю инструкцию, я получаю [0, 18] или первый экземпляр значения min.Кроме написания нескольких циклов, чтобы получить желаемый результат, есть ли другой способ?Спасибо

min(alist, key=lambda item: (item[0], -item[1]))

1 Ответ

0 голосов
/ 31 января 2019

После еще нескольких царапин на голове удалось понять, что нужно сделать, благодаря другому пользователю Python.Сначала отсортируйте первый элемент по минимальному значению, затем используйте эту сортировку для второго элемента.Первоначально это делалось в 2 отдельных сортировках, но был показан один слой.

max(v for v in sorted(alist) if v[0] == min(sorted(alist)[0]))

Это вернет пару (список), которая содержит значение min для первого элемента в списке и значение max длявторой элемент в том же списке.

...