TUZ_7-03_Удаление избыточных элементов из списка
7.3. Удаление избыточных элементов из списка
По условию задачи дается список произвольных элементов. Его нужно проанализировать и удалить избыточные элементы,
чтобы любой элемент исходного списка встречался в списке результата не более n раз.
Например, пусть дан список i = [«Python», 4, 99, «R», 4, «43», 123, 80, 99, «Python», 4] и n = 2.
- В соответствии с этими условиями в результате должен получиться список
j = [«Python», 4, 99, «R», 4, «43», 123, 80, 99, «Python»4],
соответствующий исходному, из которого удалены избыточные элементы так, чтобы их количество не превышало n.
В списке i все элементы повторяются два раза и только элемент 4 повторяется три раза, поэтому, поскольку n = 2,
последний элемент 4 исключается из результата.
Ваша задача: написать функцию, которая принимает положительное целое число n и список элементов и возвращает новый список,
не содержащий избыточных элементов, но сохраняющий порядок элементов в исходном списке.
Если n = 0, функция должна вернуть пустой список.
В табл. 7.3 показаны ожидаемые результаты для некоторых входных данных.
Таблица 7.3. Некоторые ожидаемые результаты для задачи удаления избыточных элементов из списка |
Items, n |
Ожидаемый результат |
4, 4, 4, 4, 4, 4
4 |
4, 4, 4, 4 |
4, 5, 1000, 1, 2, 3
5 |
4, 5, 1000, 1, 2, 3 |
0, 0, 0, 0, 2, 0, 0, 0, 0
5 |
0, 0, 0, 0, 2, 0 |
1001, python, 1003, world, 1001, 1001
1 |
1001, python, 1003, world |