몇 가지 요소가있는 2 개의 목록이 있습니다. 각 목록의 각 요소에 2 개의 요소가 있습니다. 1 개의 요소가 있습니다.가장 쉬운 방법은 다른 목록 요소의 목록 요소가 있는지 확인하는 것입니다.
더 좋은 방법이 있습니까?
몇 가지 요소가있는 2 개의 목록이 있습니다. 각 목록의 각 요소에 2 개의 요소가 있습니다. 1 개의 요소가 있습니다.가장 쉬운 방법은 다른 목록 요소의 목록 요소가 있는지 확인하는 것입니다.
더 좋은 방법이 있습니까?
하지 더 나은,하지만 그들이있어 oneliners :
a = ['ava','olivia','hannah','olivia']
b = ['aa','ab','ac','av']
result = filter(None, map(lambda x: x if any(map(lambda y: y in x, b)) else None, a))
print result
나 :
result2 = filter(None, [x if y in x else None for x in a for y in b])
print result3
나 :
result3 = filter(None, [x if any([y in x for y in b]) else None for x in a])
print result2
이 충분하다 :
print [word for word in a if any(part in word for part in b)]
filter
, map
또는 lambda
을 사용할 필요가 없습니다.
실제로이 모양이 더 좋게 보입니다. +1 – andrean
#output [ 'ava'], –
이들은 읽기 쉽습니다. –