문자열을 저장하는 리스트가 특정 문자열을 포함하는지 알아내려고 합니다
조회수 72829회
발생하는 문제 및 실행환경
my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
같은 리스트에서 리스트 안에 'abc'가 있는지 알아내려면 어떻게 해야되나요?
제가 아는 건 'abc-123'이나 'abc-456'같이 리스트 아이템이 정확히 'abc'랑 일치해야되서 안됩니다 ㅜㅜ
소스코드
if 'abc' in my_list:
1 답변
-
이럴 때는 리스트에 'abc'가 있는걸 확인하는 게 아니라(
if 'abc' in my_list
), 리스트 아이템 하나하나에 'abc'가 있는지 확인해 줘야 합니다.그냥 있는지 없는지 확인만 할 거라면
some_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456'] #길게 쓰면 for s in some_list: if "abc" in s: print("있다") break; #하나만 찾으면 뒤는 안 찾음 #짧게 쓰면 if any("abc" in s for s in some_list): print("있다")
"abc"를 포함하는 아이템을 찾아내려면
some_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456'] #길게 쓰면 resultlist = [] for s in some_list: if "abc" in s: resultlist.append(s) #짧게 쓰면 matching = [s for s in some_list if "abc" in s]
댓글 입력