У меня есть список списков:
[[0.0,3.3, 4.9, 7.5], [4, 6, 90, 21, 21.1], [3, 43, 99, 909, 2.11, 76, 76.9, 1000]]
Я хочу удалить подсписок из списка, если этот подсписок содержит элемент вне заданного диапазона.
Например;range = 3, 15
Итак, если подсписок содержит, -69, -17, 0, 1, 2, 15.1, 246.99, т.е. любой элемент, который находится за пределами этого диапазона, я хочу удалить этот подсписок.
Вывод, который должен быть возвращен, представляет собой список списков, в котором все подсписки содержат только значения в этом диапазоне:
[[6, 5, 7, 13, 12], [4, 6, 10], [9, 9, 4, 5, 11], [4, 4]]
Мне известно, что здесь есть похожие вопросы, такие как:
Удаление подсписков из списка списков
Python - Удаление списков (списков) из списка списков (аналогично .pop ())
Я не могу заставить эти решения работать.
Моя цель - не удалять дубликаты списков: по этому поводу много вопросов, но это не моя цель.
Мой код:
max_value = 15
min_value = 3
for sublist in my_list:
for item in sublist:
if(item < min_value):
my_list.pop(sublist)
if(item > max_value):
my_list.pop(sublist)
print(my_list)
Ошибка:
TypeError: 'list' object cannot be interpreted as an integer