2016-07-19 2 views
0

Как найти строку в List1, которая является подстрокой любой из строк в List2? Оба списка могут иметь разную длину.Как найти строку в списке, который соответствует строке или подстроке в другом списке

Скажем, у меня есть:

List1=['hello', 'hi', 'ok', 'apple'] 

List2=['okay', 'never', 'goodbye'] 

мне нужно, чтобы вернуть «ОК», видя, как она была единственной строкой в ​​list1, совпадающий List2.

+0

Вы хотите совместить ok в List1, чтобы все было в порядке –

+0

Я переформулировал ваш вопрос, чтобы быть более понятным. Неясно, хотите ли вы вернуть первую строку, которая соответствует или содержит список всех строк, прокомментируйте. –

ответ

1

Если вы хотите знать, если строка из list1 в list2 вы можете сделать

for s in List1: 
    if s in List2: 
     print("found s in List2") 
8

Вы можете использовать список понимание как:

[x for x in List1 for y in List2 if x in y]

+0

это гладко, но трудно читать – pwnsauce

+0

Да, его питонов. – shiva

0

Я написал этот кусок кода Внедрение

List1=['hello', 'hi', 'ok', 'apple'] 
List2=['ok', 'never', 'goodbye'] 
i=[] 
for j in List1: 
    for k in List2: 
     if j==k: 
      i.append(j) 

print i 
+1

'if j in k' подходит лучше, я думаю – pwnsauce

Смежные вопросы