1.특정문자열 포함 확인
파이썬에서 리스트 내에 특정 문자열을 포함하는지 확인하는 방법은 다음 네가지를 고려할 수 있다. 대소문자를 무시하려면 비교시 대문자 또는 소문자로 통일후 진행
1) 반복문 사용
def contains_string(lst, target):
for item in lst:
if target in item:
return True
return False
my_list = ["apple", "banana", "cherry"]
target_string = "bana"
result = contains_string(my_list, target_string)
print(result) # True
2) any() 함수와 list 컴프리헨션 사용
my_list = ["apple", "banana", "cherry"]
target_string = "bana"
result = any(target_string in item for item in my_list)
print(result) # True
3) filter 함수와 len() 함수 사용
해당 방법이 가장 간결하고 파이썬 다운?? 방법임.
my_list = ["apple", "banana", "cherry"]
target_string = "bana"
result = any(target_string in item for item in my_list)
print(result) # True
4) set()과 교집합(intersection) 사용
my_list = ["apple", "banana", "cherry"]
target_string = "bana"
result = bool(set(my_list) & {target_string})
print(result) # True
2.특정 문자열 제거
위에서 특정 문자열을 포함하는지 확인했으니 이번에는 제거하는 방법이다.
- 리스트에서 값을 제거할 때 리스트 내용이 변경되는 방식이라면 3) remove ,4) 반복문 활용하는 방법을 사용하고,
- 원본 리스트를 변경하지않고 새로운 리스트를 만드는 경우라면 1) 리스트 컴프리 헨션, 2) filter() 함수 사용
1) 리스트 컴프리헨션 사용
my_list = ["apple", "banana", "cherry", "banana"]
target_string = "banana"
new_list = [item for item in my_list if item != target_string]
print(new_list) # ["apple", "cherry"]
2) filter함수와 lambda 함수 사용
my_list = ["apple", "banana", "cherry", "banana"]
target_string = "banana"
new_list = list(filter(lambda x: x != target_string, my_list))
print(new_list) # ["apple", "cherry"]
3) remove() 메소드 사용 - 주의!! 첫번째로 발견된 항목만 제거하므로 중복있는 경우는 다른 방법 사용
my_list = ["apple", "banana", "cherry", "banana"]
target_string = "banana"
my_list.remove(target_string)
print(my_list) # ["apple", "cherry", "banana"]
4) 반복문 사용해서 직접 제거
my_list = ["apple", "banana", "cherry", "banana"]
target_string = "banana"
new_list = []
for item in my_list:
if item != target_string:
new_list.append(item)
print(new_list) # ["apple", "cherry"]
300x250
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[python] zip() 내장함수 활용예제 (0) | 2023.10.30 |
---|---|
[python] list를 정렬하는 sort, sorted 함수 차이? (0) | 2023.10.30 |
문자열 다루기 - strip 함수, split 함수 차이 (0) | 2023.10.27 |
break, continue, pass, exit 사용법 (0) | 2023.10.20 |
[pandas] 날짜차이 컬럼 생성하기 (0) | 2023.05.24 |