728x90
반응형
List comprehension 구문 안에 if else 문을 넣고 싶었는데, 항상 형식을 잊어먹어 여기에 정리해 두고자 합니다.
1. 문자열 리스트
[스크립트]
# =============================================================================
# 문자열을 이용한 List comprehension
# =============================================================================
str_list = ['apple', 'orange', 'mango', 'applemango', 'melon', 'watermelon']
# 특정 문자열(applemango)이 찾고자하는 문자열(apple)을 포함하고 있는지 확인
if 'apple' in 'applemango':
print('applemango contains "apple"')
if 'orange' not in 'applemango':
print('applemango NOT contains "orange"')
# 문자열에 mango 포함된 경우
mango_list = [i for i in str_list if 'mango' in i]
print(mango_list)
# 문자열에 melon 포함된 경우
melon_list = [i for i in str_list if 'melon' in i]
print(melon_list)
[출력 결과]
applemango contains "apple"
applemango NOT contains "orange"
['mango', 'applemango']
['melon', 'watermelon']
(+ 추가) 판다스 Series를 이용한 필터링
[스크립트]
# pandas import
import pandas as pd
# 리스트를 pandas Series로 바꾼 뒤 str.contains() 연산자 적용
str_series = pd.Series(str_list)
mango_contains = str_series.str.contains('mango')
print(mango_contains)
mango_series = str_series[mango_contains]
print(mango_series)
[출력 결과]
0 False
1 False
2 True
3 True
4 False
5 False
dtype: bool
2 mango
3 applemango
dtype: object
2. 숫자 리스트
[스크립트]
# =============================================================================
# 숫자를 이용한 List comprehension
# =============================================================================
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
# 리스트에서 3의 배수만 찾고 100을 곱하기
three_times100 = [i*100 for i in num_list if i % 3 == 0]
print(three_times100)
# 리스트에서 3의 배수만 찾고 100을 곱하기
three_times100_else = [x*100 if x%3 == 0 else x for x in num_list]
print(three_times100_else)
[출력 결과]
[300, 600, 900, 1200, 1500, 1800]
[1, 2, 300, 4, 5, 600, 7, 8, 900, 10, 11, 1200, 13, 14, 1500, 16, 17, 1800, 19, 20]
반응형
'Code Note' 카테고리의 다른 글
[python] timestamp 현재 일자/시각 문자열로 출력(한국 표준시 KST) (0) | 2023.08.17 |
---|---|
[python] list에서 중복 원소 제거(duplicate elements) (0) | 2023.02.10 |
[python] pip로 폴더 내 모든 whl 파일 설치하기(사내망, 보안) (0) | 2022.05.05 |
[Python] Dictionary 생성 & 추가(키-값 쌍) (0) | 2022.02.10 |
[Python] 타임스탬프를 이용한 파일명&폴더명 생성 함수 (0) | 2022.01.28 |