Я пытаюсь использовать список, чтобы удалить несколько элементов из списка, просто сохраняя те, которые не указаны.Использование списка для хранения элементов не во втором списке
Например, если у меня есть 2 списка a = [1,3,5,7,10]
и b = [2,4]
Я хочу, чтобы все элементы из a
, которые не в индексе, соответствующем номеру в b
.
Теперь я попытался использовать y = [a[x] for x not in b]
, но это создает SyntaxError.
y = [a[x] for x in b]
прекрасно работает и сохраняет только точные элементы, которые я хочу удалить.
Как я могу это достичь? И на стороне примечания, это хороший способ сделать это, или я должен использовать del
?
Вы имеете в виду это? '[x для i, x в перечислении (a), если i не в b]' – khelwood
и да, это и нет, вы не должны;) – georg
'in' является частью синтаксиса понимания списка, in', и поэтому его нельзя просто заменить на 'not in'. – chepner