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

리스트 공백 제거하기(\n, 스페이스, 탭)

by 너l모 2021. 9. 10.
반응형

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


 ο 목차

     


    파이썬으로 작업하다보면 텍스트 파일을 자주 가져와서 쓰게 되는데 readlines() 함수로 내용을 읽어오면 리스트 각 요소의 끝에 '\n' 문자가 붙을 때가 있습니다.

     

    공백을 제거하는 방법 중 깔끔한 방법이 있어 공유합니다. 

     

    리스트 양 쪽 공백 제거가 필요한 경우가 있고, 많지는 않지만 리스트 각 요소 스트링 내부 공백(단어와 단어 사이)도 제거가 필요한 경우도 있어서 두 가지 방법 모두 공유합니다.


    1. 리스트 요소 양 끝 공백(\n, 스페이스, 탭) 제거 방법

    1) 양 끝 공백 제거 코드

    리스트변수 = list(map(lambda s : s.strip(), 리스트변수))

    2) 코드 설명

    (1) lambda (람다) 

    ㅇ lambda는 한 줄로 사용할 수 있는 익명 함수

    ㅇ lambda 사용식

    lambda 인자 : 표현식

     - lambda 다음에 지정된 인자를 변수(인풋)로 표현식(함수) 처리를 한 후 결과값을 리턴(아웃풋)

     

    (2) map (맵)

    ㅇ map은 반복 가능한 자료형의 값을 하나씩 가져와 지정된 함수 처리를 하고 새로운 값을 리턴하는 함수

    ㅇ map 사용식

    map(함수, 반복 가능한 자료형A)

     

    - 반복 가능한 자료형은 리스트, 튜플과 같은 자료형을 의미

    - map 함수는 리스트, 튜플의 값을 가져와 함수 처리를 한 후 새로운 map 객체로 반환

    예) 반복 가능한 자료형A를 map 함수의 두번째 인자로 지정하는 경우 A의 값은 변함이 없으며 A 요소에 함수 처리된 새로운 B라는 map 객체가 반환됨.

    - 반환된 map 객체는 그대로 사용할 수 없으므로 리스트, 혹은 튜플로 변환해서 사용해야 함

     

    (3) list (리스트)

    ㅇ list 함수는 인자값을 list로 변환해주는 함수

    ㅇ list 사용식

    list(객체)

     

    2. 리스트 요소 중간 공백 및 양 끝 공백(\n, 스페이스, 탭) 제거 방법

    1) 중간 및 양 끝 공백 제거 코드 

    리스트변수명 = list(map(lambda s : ''.join(s.split()), 리스트변수명))

    <예제>

    ll = ['	a b\n c d 	e f\n']
    
    lt = list(map(lambda s : ''.join(s.split()), ll))
    
    print(lt)

    <예제 - 결과>

    ['abcdef']

     

    2) 코드 설명

    (1) split

    ㅇ split 함수는 문자열을 공백 혹은 지정된 문자를 기준으로 나누고 나눠진 문자를 리스트 자료형으로 반환하는 함수

    ㅇ split 사용식

    문자열변수.split(인자)

    - 변수의 문자열 값을 인자를 기준으로 나누어 리스트로 반환함.

    - 인자가 주어지지 않는 경우 공백(\n, 스페이스, 탭)을 기준으로 문자를 나눔

     

    (2) join 

    ㅇ join 함수는 반복 가능한 자료형의 요소를 지정된 문자로 연결하여 하나의 문자열로 반환하는 함수

    ㅇ join 사용식

    문자열.join(반복 가능한 자료형)

     

    - 문자열을 ''로 주는 경우 공백 없이 요소를 모두 연결하여 문자열로 반환


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

     

     

    반응형

    댓글