Я сортирую двумерный список, который выглядит следующим образом [[a, 1, 2], [b, 3, 4], [c, 5, 6]]. Я попытался сортировать список, пока не понял, что при этом я только сортировал одно значение, и наибольшее значение может быть удалено, например. [[a, 4, 2] [b, 3, 5] [c, 7, 8]]. Поэтому я решил использовать цикл for и создать второй список, в котором будет помещено самое низкое значение каждого списка, а затем удалено из основного списка, но это не сработало, поэтому я не могу придумать никаких хороших идей, которые эффективный.Python 3.x удаляет низшее числовое значение в двумерном списке
Главная проблема Код:
if Class == 1:
print('\n\t{}'.format(Class_1))
Class_1.sort()
print('\n\t{}'.format(Class_1))
Class_1_length = len(Class_1)
Class_1.sort(key=lambda x: x[2])
print(Class_1)
for Student in range(0, Class_1_length):
if Class_1[Student][1] > Class_1[Student][2]:
#Method of removing value 2
if Class_1[Student][1] < Class_1[Student][2]:
#Method of removing value 1
if Class_1[Student][1] == Class_1[Student][2]:
#Method of removing value 2
print(Class_1)
Когда я попытался с помощью поп это было бы сказать мне, что строка не может быть истолковано как целое число, но путем добавления Int() в сторону поп() это сказать, что мне индекс .pop был вне допустимого диапазона. Когда я создал второй список, [x для x в списке1, если x отсутствует в списке2] или что-то подобное не сделал ничего.
Мне нужен метод, который будет работать независимо от того, что числа 1, 2, 3, 4, 5 и 6 находятся в этом списке - [[a, 1, 2], [b, 3, 4] , [с, 5, 6]]
Что вы ожидаемый результат? – AChampion
Скажите, что список был [[a, 3, 7], [b, 8, 8], [c, 6, 5]]. Я хочу, чтобы список выводился следующим образом: [[a, 7], [b, 8], [c, 6]]. –