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

구분자가 포함된 문자열 리스트를 튜플 리스트로 변환하는 Python 프로그램


구분자(구분 기호)로 나뉘어 있는 문자열 리스트를 튜플 리스트로 변환해야 하는 경우, 리스트 컴프리헨션(list comprehension)'tuple' 메서드, 'split' 메서드를 함께 활용하면 간단하게 처리할 수 있습니다.

예제

아래는 실제 동작 과정을 보여주는 예제입니다.

my_list = ["21$12", "33$24$48$69", "14$10$44"]

print("The list is :")
print(my_list)

key = "$"
print("The key is :")
print(key)

my_result = [tuple(int(element) for element in sub.split(key)) for sub in my_list]

print("The result is :")
print(my_result)

출력 결과

The list is :
['21$12', '33$24$48$69', '14$10$44']
The key is :
$
The result is :
[(21, 12), (33, 24, 48, 69), (14, 10, 44)]

코드 설명

  • 문자열 값들로 이루어진 리스트를 정의한 뒤 콘솔에 출력합니다.

  • 구분자로 사용할 키(key) 값을 정의하고 콘솔에 출력합니다.

  • 리스트 컴프리헨션을 사용하여 리스트의 각 요소를 순회합니다.

  • 각 문자열은 앞서 정의한 'key'($ 기호)를 기준으로 분할(split)됩니다.

  • 분할된 요소들은 int() 함수로 정수형으로 변환된 후, tuple() 메서드를 통해 하나의 튜플로 묶입니다.

  • 이렇게 생성된 튜플들이 모여 최종적으로 튜플 리스트가 완성되며, 그 결과는 변수에 할당됩니다.

  • 완성된 결과가 콘솔에 출력됩니다.

핵심 포인트

이 방식의 장점은 문자열 길이가 요소마다 달라도 상관없다는 점입니다. 위 예제에서처럼 '21$12'는 2개의 요소로, '33$24$48$69'는 4개의 요소로 분할되어 각각 길이가 다른 튜플로 자연스럽게 변환됩니다. 또한 단 한 줄의 리스트 컴프리헨션으로 전체 변환 로직을 처리하기 때문에 코드가 간결하고 가독성이 높습니다.