Python

리스트 안 빈 문자 제거하기

til_t 2021. 1. 21. 10:35

첫 번째 방법, 컴프리헨션 사용

 

[x for x in list if x]

 

ex)

li = ["Korea", "", "japan", "CHINA", "", "america"]
print(li)
new_li = [x for x in li if x] # 빈 문자(False)가 아닐 때 그 값을
# 새로운 리스트로 만든다.
print(new_li)
['Korea', '', 'japan', 'CHINA', '', 'america']
['Korea', 'japan', 'CHINA', 'america']

 

두 번째 방법, filter 사용 (filter(None, list)는 filter(lambda x: x is not None, list)를 의미한다.)

 

list(filter(None, list))

 

ex)

li = ["Korea", "", "japan", "CHINA", "", "america"]
print(li)
new_li2 = list(filter(None, li))
print(new_li2)
['Korea', '', 'japan', 'CHINA', '', 'america']
['Korea', 'japan', 'CHINA', 'america']