[ Python ] 특정 조건을 만족하는 List 문자열만 뽑기

2019. 5. 4. 23:37분석 Python/구현 및 자료

728x90

파이썬 카톡 단체방에 올라온 것이 있는데 , 유용한 것 같아서 공유합니다.

 

여기서 추가로 debugging package pysnooper도 써서 살을 보탭니다.

 

1. 어떤 List안에 있는 것을 다 포함하는 경우만 뽑고 싶을 때 어떻게 해야할까?

import pysnooper

## 다 있어야 하는 경우  
@ pysnooper.snoop()
def word_check(word, check) :
    output = [elem in word for elem in check]
    return all(output)
    

check = ["a","e","i","o","u"]
words = ["abcded", "uoiea", "aaaaaoieoieuu","bcd"]
[word for word in words if word_check(word, check) ]

print를 안해도 알아서 해준다는 게 장점이지만 길어진다는게 단점!

 

2. 어떤 List 안에 있는 것을 하나라도 포함되어 있는지? 

@ pysnooper.snoop()
def any_word_check(word, check) :
    output = [elem in word for elem in check]
    return any(output)

[word for word in words if any_word_check(word, check) ]

 

728x90