정규표현식으로 리스트 속에 패턴을 가진 항목이 있는지 확인할 수 있는 방법이 있을까요?
안녕하세요?
파이썬을 공부하다가 막히는 것이 있어 질문드립니다.
list = [1221, 53321, 42, 5682, 497]
1.위 list에서 '33'을 가진 항목이 있는지 확인하는 방법
2. 그 항목의 index값을 구할 수 있는 방법이 있을까요?
답변해주시면 감사드리겠습니다!
뿌얘미 님 607
2021년 1월 5일 5:23 오후
1개의 답변이 있습니다. 1 / 1 Page
요소가 있는지 검사는 in
을 사용하면 되고 인덱스를 구하기 위해서는 index 함수를 사용하시면 됩니다.
다음 예제를 참고하세요.
>>> a = [1221, 53321, 42, 5682, 497]
>>> 33 in a
False
>>> 1221 in a
True
>>> a.index(33)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 33 is not in list
>>> a.index(1221)
0
추가답변
33을 체크하려면 숫자를 문자로 바꾼후에 확인해야 할 것 같네요.
다음처럼 map으로 숫자를 문자열로 바꾼후에 33이 있는지를 확인하면 될것 같습니다.
>>> a = [1221, 53321, 42, 5682, 497]
>>> [a.index(int(i)) for i in map(str, a) if i.find('33') !=-1]
[1]
박응용 님
M 2021년 1월 5일 7:21 오후