Рассмотрим списки:
assigned = [4,8]
matching = [['B', [4, 5, 6]], ['C', [7, 8, 9]]]
Я пытаюсь удалить данные целые числа с помощью следующего кода
for ii in range(len(assigned)):
while any(assigned[ii] in x for x in matching):
matching.remove(assigned[ii])
У меня есть две проблемы здесь. Первый - попасть во внутренние списки. Сейчас код ничего не делает, потому что нет соответствия.
Вторая проблема, я попробовал это:
t = ['B', [4, 5, 6]]
if any(4 in x for x in l2):
И в результате возникла ошибка:
if any(4 in x for x in l2):
TypeError: 'in <string>' requires string as left operand, not int
Есть ли способ добиться того, чтобы и то, и другое не превышало двух строк кода: найти совпадения во вложенных списках и удалить эти совпадения?