Python에서 튜플에 추가
이 튜토리얼은 파이썬에서 튜플에 추가하는 방법을 보여줍니다.
Python에서 튜플은 컬렉션을 저장하는 데 사용되는 순서가 지정되지 않은 불변 데이터 유형입니다. 튜플은 목록과 매우 유사하지만, 차이점은 길이가 가변적이고 본질적으로 변경 가능한 목록과 달리 튜플의 길이가 고정되어 있고 변경할 수 없다는 것입니다.
Python에서 튜플 초기화
튜플 데이터 유형은 괄호 ()
를 사용하여 값을 캡슐화하여 초기화됩니다. 튜플의 값은 동일한 유형일 필요가 없습니다.
my_tuple = ("Jane Doe", 40, 0.05, "a", [1, 2, 3])
다음은 서로 다른 데이터 유형의 4 개 값을 포함하는 튜플 초기화의 예입니다. 중첩 된 튜플도 지원됩니다.
내장 함수tuple()
을 사용하여 목록을 튜플로 변환 할 수도 있습니다.이 함수는 모든 목록을 튜플로 변환합니다.
my_list = [1, 2, 3, 4, 5]
print(tuple(my_list))
출력:
(1, 2, 3, 4, 5)
이제 튜플의 초기화에 대해 논의 했으므로 불변 튜플에 추가하는 방법으로 넘어갈 수 있습니다.
연결+
를 사용하여 Python에서 튜플에 추가
다시 말하면 튜플 데이터 유형은 변경 불가능합니다. 즉, 초기화 된 값은 변경할 수 없습니다. 변경 불가능한 데이터 유형의 또 다른 예는 문자열입니다.
문자열과 마찬가지로 튜플 값은 단순히 기존 값에 새 값을 연결하여 변경하거나 추가 할 수 있습니다. 두 개의 다른 튜플 세트를 하나로 결합하고 실제로 기존 값을 변경하지 않고 데이터 유형의 불변성을 유지합니다.
예를 들어, 여기에 두 개의 개별 튜플이 있습니다. 세 번째 변수는이 두 튜플을 연결하여 초기화됩니다.
tuple_a = ("a", "b", "c")
tuple_b = ("d", "e", "f")
tuple_c = tuple_a + tuple_b
print(tuple_c)
출력:
('a', 'b', 'c', 'd', 'e', 'f')
이제tuple_c
변수는 두 튜플의 연결된 값에 의해 초기화됩니다.
튜플을 연결하는 또 다른 방법은 다음과 같습니다.
tuple_a = ("c", "d", "f")
tuple_b = ("a", "b") + tuple_a + ("g", "h")
print(tuple_b)
출력:
('a', 'b', 'c', 'd', 'f', 'g', 'h')
알파벳순으로 e
문자는 위의 출력에서 누락되었으며 연결을 사용하여 튜플 중간에 값을 삽입하는 방법이 없습니다.
이 접근 방식의 유일한 단점은 기존 튜플의 시작 또는 끝에서만 연결할 수 있기 때문에 튜플 중간에 값을 삽입 할 수 없다는 것입니다.
Python에서 튜플에 추가하기 위해 튜플에서 목록으로 변환 수행
파이썬에서 튜플에 추가하는 더 유연하고 편리한 접근 방식은 튜플을 목록으로 변환하는 것입니다.
이러한 방식으로 값에 대해 내장 된 목록 함수를 수행하여 목록 내 어디에서나 편리하게 삽입 및 제거 할 수 있습니다. 모든 조작 후에 목록은 불변의 튜플로 다시 변환 될 수 있습니다.
다음은 새 요소를 삽입하기위한 튜플-리스트 변환의 예입니다.
tuple_val = (11, 52, 67, 142)
list_val = list(tuple_val)
l.insert(1, 20)
print(l)
tuple_val = tuple(list_val)
print(tuple_val)
튜플은 먼저 목록으로 변환되고 내장 된insert()
함수는 기존 값 사이에 값을 삽입하는 데 사용됩니다. 그 후 목록은 다시 튜플로 변환됩니다.
출력:
[11, 20, 52, 67, 142]
(11, 20, 52, 67, 142)
튜플을 목록으로 변환하면sort()
,remove()
및 기타 가능한 목록 조작과 같은 내장 함수를 사용하여 다른 가능성이 열립니다.
요약하면, 튜플은 불변성 때문에 목록처럼 간단하게 수정할 수 없습니다. 튜플에 추가하는 가장 광범위한 방법은 튜플을 목록으로 변환하는 것입니다. 필요한 추가가 튜플의 시작 또는 끝 부분에 있으면 간단한 연결 +
를 사용할 수 있습니다.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn