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

Python에서 문자열 튜플 2개를 연결하는 방법

두 개의 문자열 튜플(tuple)을 연결해야 하는 상황이라면 zip 메서드와 제너레이터 표현식(generator expression)을 활용하면 간단하게 해결할 수 있습니다.

zip 메서드는 여러 개의 반복 가능한 객체(iterable)를 인자로 받아, 각 객체에서 같은 위치의 요소들을 하나의 튜플로 묶어준 뒤 그 결과를 반환합니다.

제너레이터(generator)는 이터레이터(iterator)를 손쉽게 만들 수 있는 방법입니다. __iter__()__next__() 메서드가 구현된 클래스를 자동으로 생성해 주며, 내부 상태를 스스로 추적하고 더 이상 반환할 값이 없을 때는 StopIteration 예외를 발생시킵니다.

아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다.

예제 코드

my_tuple_1 = ('Jane', 'Pink', 'El')
my_tuple_2 = ('Will', 'Mark', 'Paul')

print("The first tuple is : ")
print(my_tuple_1)
print("The second tuple is : ")
print(my_tuple_2)

my_result = tuple(elem_1 + elem_2 for elem_1, elem_2 in zip(my_tuple_1, my_tuple_2))

print("The concatenated tuple is : ")
print(my_result)

실행 결과

The first tuple is :
('Jane', 'Pink', 'El')
The second tuple is :
('Will', 'Mark', 'Paul')
The concatenated tuple is :
('JaneWill', 'PinkMark', 'ElPaul')

코드 설명

  • 두 개의 문자열 튜플을 정의한 뒤 콘솔에 출력하여 확인합니다.
  • zip 메서드를 사용해 두 튜플의 요소들을 위치별로 짝지어 묶습니다.
  • 묶인 요소 쌍마다 첫 번째 튜플의 요소와 두 번째 튜플의 요소를 더하기(+) 연산으로 연결합니다.
  • 연결된 결과들을 tuple() 함수로 감싸 최종적으로 튜플 형태로 변환합니다.
  • 이렇게 얻은 결과를 변수에 할당합니다.
  • 마지막으로 해당 변수를 출력하면 연결된 튜플이 콘솔에 표시됩니다.