- 1
- 이니스프리
- 조회 수 2981
예컨대 'abcdefg'라는 문자열에 'a' 또는 'h'라는 문자열이 포함되어 있는지를 조건문으로 표현하는 방법에 대한 설명입니다.
물론 if 'a' in 'abcdefg' or 'h' in 'abcdefg': 이런 방식으로 처리할 수도 있지만
단어의 갯수가 많은 경우에는 조건문이 과도하게 길어지고 유지보수가 힘들어집니다 ㅠㅠ
이를 list comprehension을 사용하여 보다 간결하게 처리할 수 있습니다.
word_list = ['a', 'h']
string = 'abcdefg'
if any(word in string for word in word_list):
참고로 any 대신 all을 사용하면 조건문에서 or가 아니라 and의 역할을 하게 됩니다.
즉 위 경우에 any를 사용하면 True가 되고, all을 사용하면 False가 됩니다.
너무 당연한 설명이지만, 이런 방식으로 사용할 수도 있습니다.
if not any(word in string for word in word_list):
물론 이렇게 조합하는 것도 가능하구요 ^^
if not any(word in string for word in word_list1) and any(word in string for word in word_list2):