# -*- coding:utf-8 -*-
'''
Задача: из одного списка вычесть другой список
1
Цикл for для списка l11 от 0 до len(l11)
Если нулевой элемент удовлетворяет условию,
то он удаляется и все элементы сдвигаются влево.
Цикл продолжается с позиции 1 и тот элемент,
который сдвинулся не попадает в проверку условия.
2
Решение проблемы
Цикл делаем по срезу на списке L[:]
В этом случае создается копия (клон) списка,
сам список не изменяется
'''
# 1
def sublist(l11, l22):
for i in l11:
if i in l22:
l11.remove(i)
# 2
def sublistT(l11, l22):
for i in l11[:]:
if i in l22:
l11.remove(i)
l1 = [1,2,3,4]
l2 = [1,2,5,6]
sublist(l1, l2)
print(l1)
l21 = [1,2,3,4]
l22 = [1,2,5,6]
sublistT(l21, l22)
print(l21)
'''
Задача: из одного списка вычесть другой список
1
Цикл for для списка l11 от 0 до len(l11)
Если нулевой элемент удовлетворяет условию,
то он удаляется и все элементы сдвигаются влево.
Цикл продолжается с позиции 1 и тот элемент,
который сдвинулся не попадает в проверку условия.
2
Решение проблемы
Цикл делаем по срезу на списке L[:]
В этом случае создается копия (клон) списка,
сам список не изменяется
'''
# 1
def sublist(l11, l22):
for i in l11:
if i in l22:
l11.remove(i)
# 2
def sublistT(l11, l22):
for i in l11[:]:
if i in l22:
l11.remove(i)
l1 = [1,2,3,4]
l2 = [1,2,5,6]
sublist(l1, l2)
print(l1)
l21 = [1,2,3,4]
l22 = [1,2,5,6]
sublistT(l21, l22)
print(l21)
Комментариев нет:
Отправить комментарий