Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 리스트에서 빈 튜플 제거하기 – 예제 코드와 상세 설명

튜플로 구성된 리스트에서 빈 튜플을 제거해야 하는 경우, 간단한 반복문이나 리스트 컴프리헨션을 활용하면 손쉽게 처리할 수 있습니다.

파이썬의 리스트는 정수, 실수, 문자열 등 서로 다른 자료형의 값을 하나의 자료구조에 함께 저장할 수 있습니다.

튜플 리스트(list of tuples)란 말 그대로 리스트 안에 여러 개의 튜플이 담겨 있는 형태를 의미합니다.

예제 코드

def remove_empty(my_tuple):
    my_tuple = [t for t in my_tuple if t]
    return my_tuple
my_tuple = [(), (), (''), (' ', ' '), (45, 67, 35, 66, 74, 89, 100) , 'jane']
print("The tuple is : ")
print(my_tuple)
print("The method to remove empty tuples is being called...")
my_result = remove_empty(my_tuple)
print("The list of tuple after removing empty tuples is : ")
print(my_result)

실행 결과

The tuple is :
[(), (), '', (' ', ' '), (45, 67, 35, 66, 74, 89, 100), 'jane']
The method to remove empty tuples is being called...
The list of tuple after removing empty tuples is :
[(' ', ' '), (45, 67, 35, 66, 74, 89, 100), 'jane']

코드 설명

  • 'remove_empty'라는 이름의 함수가 정의되며, 튜플 리스트를 매개변수로 받습니다.
  • 리스트 컴프리헨션을 사용해 리스트의 각 요소를 순회하면서, 조건식 if t를 통해 빈 값이 아닌 요소만 새로운 리스트에 담아 반환합니다.
  • 파이썬에서는 빈 튜플 ()뿐만 아니라 빈 문자열 ''도 거짓(falsy)으로 평가되기 때문에, 위 코드에서는 빈 튜플과 빈 문자열이 모두 제거됩니다.
  • 튜플 리스트가 정의된 뒤 콘솔에 출력됩니다.
  • 정의된 함수가 호출되고, 해당 리스트가 인자로 전달됩니다.
  • 연산 결과는 변수 my_result에 저장됩니다.
  • 마지막으로 빈 튜플이 제거된 리스트가 콘솔에 출력됩니다.

참고 사항

위 방법 외에도 filter() 함수를 사용해 list(filter(None, my_tuple))처럼 작성하면 동일한 결과를 얻을 수 있습니다. 또한 공백 문자열 (' ', ' ')은 값이 존재하는 것으로 간주되어 제거되지 않는 점에 유의하세요. 만약 공백만으로 이루어진 요소까지 제거하고 싶다면, 조건식을 if any(t)와 같이 변경하여 처리할 수 있습니다.