Python 일일 연습 5: 원하지 않는 개체를 제거하여 새 목록 생성
의문
주어진:
str_list = ["Emma", "Jon", "", "Kelly", None, "Eric", ""]
예상 출력:
Original list of sting
['Emma', 'Jon', '', 'Kelly', None, 'Eric', '']
After removing empty strings
['Emma', 'Jon', 'Kelly', 'Eric']
내 솔루션
처음에 아무런 단서가 없어서 힌트를 보니 filter() 함수를 사용하거나 for 루프 및 if 조건을 사용하여 목록에서 빈 문자열을 제거하라는 메시지가 표시됩니다.
나는 filter() 함수를 검색하고 배운다
str_list = ["Emma", "Jon", "", "Kelly", None, "Eric", ""]
print("Original list of sting")
filtered_list = list(filter(None, str_list))
print("After removing empty strings")
print(filtered_list)
filter(function, iterable)
구문이 있고 반복자를 반환하므로 결과를 출력할 수 없으며 모든 요소를 포함하는 목록을 사용해야 합니다. 또는 목록 이해력 사용
str_list = ["Emma", "Jon", "", "Kelly", None, "Eric", ""]
new_list = [x for x in str_list if x]
print(new_list)
기타 솔루션
str_list = ["Emma", "Jon", "", "Kelly", None, "Eric", ""]
res_list = []
for s in str_list:
# check for non empty string
if s:
res_list.append(s)
print(res_list)
루프 알고리즘:
새로운 빈 생성
그런 다음 이전 목록을 반복합니다.
개체의 진실이 거짓인지 확인
(빈 문자열과 None은 기본적으로 False로 간주됨)
객체가 True이면 새 목록에 추가
내 반성
신용 거래
Reference
이 문제에 관하여(Python 일일 연습 5: 원하지 않는 개체를 제거하여 새 목록 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mathewchan/python-daily-exercise-5-generate-new-list-by-removing-unwanted-object-4bf8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)