У меня есть список и словарь:
list1 = ['C1','C1C2C3C4','C3C4C5','C2C4C5']
dict1 = {'C2C4':1, 'C3':1}
Я хочу, чтобы список был отсканирован, и если C2C4 всплывает в строке, даже если строка C2C3C4C5, поскольку она содержит C2 И C4, я хочу, чтобы он превратился в 1 в списке.То же самое можно сказать и о C3, если C3 появляется в любой из строк, тогда я хочу, чтобы он превратился в 1 в списке, а когда C3 появляется в C3C4C5, то это также должно превратиться в 1, то есть, чтобы получить результат:
list1 = [0,1,1,1]
Я использовал этот метод из того, что нашел на этом сайте:
result = [(lambda x:0 if not x else min(x))([b for a, b in dict1.items() if i in a]) for i in list1]
Но это не работает для этого сценария, так как он не подберет другие компонентывнутри строки и так выводит:
Results = [0, 0, 0, 0]
........ может кто-нибудь помочь?