/
ilya.petrash
/
SimplePyScripts
Обзор
Документация
Войти
/
ilya.petrash
/
SimplePyScripts
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
delete_sublist.py
35 строк
1010 B
gil9red
Refactoring. Using f-strings
26 июн 2023, 11:29
26 июн 2023, 11:29
48dd9f0
Код
Авторство
О чём код?
#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = "ipetrash" # http://ru.stackoverflow.com/questions/495034 # Нужно удалить из списка в вхождения, да не просто по элементам, а прям множество. # Т.е. если есть список: [0, 1, 2, 3, 1, 5, 3, 7], и например, кортеж, который удаляемых # элементов (1, 5, 3), нужно, чтобы в итоге получился список [0, 1, 2, 3, 7]. # Как можно легче всего такое реализовать? l = [0, 1, 2, 3, 1, 5, 3, 7, 1, 5, 3, 8] m = (1, 5, 3) def find_sublist(l, m): for i in range(len(l)): try: if tuple(l[i : i + len(m)]) == tuple(m): yield i, i + len(m) except IndexError: pass def delete_sublist(l, m): for i, j in find_sublist(l, m): del l[i:j] print(f"Before: {l}.") delete_sublist(l, m) print(f"After: {l}.")