Вы не можете встроить "кроме", как это; они приходят только в попытках / исключая пары, и это нельзя сделать в лямбде.
Если это не домашнее задание или головоломка, я бы вместо этого использовал словарь:
>>> list_1 = ['a','b','c']
>>> list_2 = ['b','c']
>>> list_3 = [5,4]
>>>
>>> mymap = dict(zip(list_2, list_3))
>>> list_4 = [mymap.get(x,0) for x in list_1]
>>> list_4
[0, 5, 4]
Почтовый индекс объединяет два списка в пары:
>>> zip(list_2, list_3)
[('b', 5), ('c', 4)]
Из этого дикта получается словарь (ассоциативный массив):
>>> mymap = dict(zip(list_2, list_3))
>>> mymap
{'c': 4, 'b': 5}
>>> mymap['c']
4
>>> mymap['b']
5
и метод .get(a,b)
в словаре означает «найти ключ a и вернуть это значение, но если ключ не найден, вернуть b.»
>>> mymap.get("c", 0)
4
>>> mymap.get("nope", 0)
0