본문 바로가기
  • ▒ 네모의 쉽게 배우는 네트워크 | 개발 ▒
파이썬 개발/개발 기초

리스트의 빈 요소 제거하기(with 리스트 컴프리헨션 - list comprehension)

by 너l모 2022. 1. 13.
반응형

※ 업무하면서 습득한 내용들을 정리해 놓은 포스팅입니다 :P 추가로 궁금하신 점은 댓글로 남겨주시고 필요한 자료 있으면 요청주세요! 잘못된 내용이 있으면 고쳐주시면 감사하겠습니다. 자료 퍼가실 때는 출처 남겨주세요!


 ο 목차

     


    ※ 코드 보는 방법 참고

    ㅇ 달러 기호($)가 있는 경우 -> 리눅스 터미널에서 CLI 명령어 입력

    ㅇ "=#" 기호가 있는 경우 -> psql 쉘에서 명령어 입력

    ㅇ 꺽쇠가 하나 있는 경우(>) -> 윈도우 명령 프롬프트(cmd)에서 명령어 입력

    ㅇ 꺽쇠가 세개 있는 경우(>>>) -> python 쉘에서 명령어 입력


    안녕하세요, 네모입니다 :D

     

    작업하다보면 split 함수를 사용해 리스트를 만드는 일이 많은데...

    함수를 사용해서 리스트를 자동으로 생성하다보면 원치 않는 공백이나 빈 요소들이 들어갈 때가 많습니다.

    (저만 그런가요...?ㅠ)

     

    그럴 때 빈 요소 값을 제거할 수 있는 유용한 방법이 있어서 소개해드리려고 합니다.

    자세한 내용은 아래 내용 참고 해주세요. 

     

    1. 리스트의 빈 요소 제거 방법

    1) 리스트 컴프리헨션(List comprehension) 사용

    공백제거할리스트 = [n for n in 공백제거할리스트 if n]

     - 위의 식을 그대로 그냥 가져가도 좋고, 왜 이렇게 되는지 궁금하다 하시는 분들은 아래 내용 참고 해주세요 :)

     

    2) 코드 설명

     * 리스트 컴프리헨션(List comprehension)이란?

      - 리스트의 배열 선언 및 값 할당을 한 줄로 끝내주는 유용한 파이썬 문법

    (1) 리스트 컴프리헨션 사용 방법

    [(변수를 활용한 요소값) for (변수명) in (순회 가능한 값)]

     - 순회 가능한 값은 '문자열', '리스트', '튜플', '딕셔너리' 객체를 의미함

     

     예제)

    test = [i for i in range(10)]

     - 결과) test = [0,1,2,3,4,5,6,7,8,9]

    test2 = [i*3 for i in range(4)]

     - 결과) test2 = [0,3,6,9]

     

    (2) 리스트 컴프리헨션 + 조건문 사용 방법

    [(변수를 활용한 요소값) for (변수명) in (순회 가능한 값) if (조건문)]

     - 조건문을 추가하면 필터링 기능처럼 사용가능, if 구문이 참인 값만 리스트에 추가함

     

    예제)

    test = [i for i in range(10) if i%2==0]

     - 결과) test = [0,2,4,6,8]

    (3) 빈 요소 제거 코드 상세 설명

    공백제거할리스트 = [n for n in 공백제거할리스트 if n]

     - 공백제거할리스트의 각 요소들을 n 변수로 받은 다음 n 값이 참인 경우만 리스트에 추가

     - 빈 요소는 false 값이므로 추가되지 않고, 값이 존재하는 요소들만 새로운 리스트에 추가됨

     - 빈 요소를 제외한 리스트를 기존 리스트에 덮어쓰기


    리스트 컴프리헨션의 사용 방법은 이것 외에도 다양한 방법이 있으니 궁금하신 분들은 자료 찾아보시면 좋을 것 같아요 :) 다음에 더 유용한 자료 가지고 올게용!


    ※ 좋아요와 구독은 큰 힘이 됩니다. 감사합니다. 

    반응형

    댓글