이 글에서는 주어진 리스트에 포함된 모든 튜플의 길이가 서로 동일한지 확인하는 방법을 알아봅니다. 크게 두 가지 접근 방식을 소개하며, 각각 len() 함수 단독 사용과 all() 함수와의 조합을 활용합니다.
1. len() 함수를 이용한 방법
len() 함수로 각 튜플의 길이를 구한 뒤, 기준이 되는 값과 비교하는 가장 직관적인 방법입니다. 리스트를 반복문으로 순회하면서 튜플의 길이가 기준값과 일치하지 않으면 즉시 검사를 중단하고 결과를 반환합니다.
예제 코드
listA = [('Mon', '2 pm', 'Physics'), ('Tue', '11 am', 'Maths')]
# 리스트 출력
print("Given list of tuples:\n", listA)
# 기준 길이 설정
k = 3
res = 1
# 반복문으로 각 튜플의 길이 검사
for tuple in listA:
if len(tuple) != k:
res = 0
break
# 결과 확인
if res:
print("Each tuple has same length")
else:
print("All tuples are not of same length")실행 결과
위 코드를 실행하면 다음과 같은 결과를 얻습니다.
Given list of tuples:
[('Mon', '2 pm', 'Physics'), ('Tue', '11 am', 'Maths')]
Each tuple has same length2. all()과 len()을 조합한 방법
all() 함수와 len() 함수를 함께 사용하면 반복문 없이 더욱 간결하게 코드를 작성할 수 있습니다. 제너레이터 표현식을 통해 리스트의 각 튜플을 순회하며 길이를 검사하고, 모든 조건이 참일 때만 True를 반환합니다.
예제 코드
listA = [('Mon', '2 pm', 'Physics'), ('Tue', '11 am', 'Maths')]
# 리스트 출력
print("Given list of tuples:\n", listA)
# 기준 길이 설정 후 all()로 일괄 검사
k = 3
res = (all(len(elem) == k for elem in listA))
# 결과 확인
if res:
print("Each tuple has same length")
else:
print("All tuples are not of same length")실행 결과
위 코드를 실행하면 다음과 같은 결과를 얻습니다.
Given list of tuples:
[('Mon', '2 pm', 'Physics'), ('Tue', '11 am', 'Maths')]
Each tuple has same length마무리
두 방법 모두 동일한 결과를 제공하지만, all() 함수를 활용한 방식이 코드가 더 짧고 가독성이 뛰어나 파이썬다운(Pythonic) 표현으로 평가받습니다. 또한 all() 함수는 내부적으로 조건이 거짓인 순간 평가를 중단하는 단락 평가(short-circuit evaluation)를 수행하므로 성능 면에서도 효율적입니다.