#python
Вопрос:
У меня есть 2 списка A
, а именно: B
A=[1,2,3,4,2,5,6,4,8,9]
Где B
-список-это индекс A[]
элементов, которые я должен иметь
B=[0,3,5,7,8]
Мне нужно заменить элементы A
списка нулем, которого нет в списке B
(индекс A
)
То, что я пытался, это :
Z=[0 if A.index(x) not in B else x for x in A]
но оно вернулось
[1, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0]
Что мне нужно, так это:
[1,0,0,4,0,2,0,6,4]
Комментарии:
1. Ваш ожидаемый результат неверен для условия, о котором вы упомянули.
Ответ №1:
list.index
возвращает первый индекс, для которого найдено определенное значение. enumerate
пригодится здесь:
Z = [0 if i not in B else x for i, x in enumerate(A)]