목록 대 튜플: 목록과 튜플의 차이점

게시 됨: 2021-01-08

파이썬에서 리스트와 튜플은 하나 이상의 객체나 값을 저장할 수 있는 데이터 구조 클래스입니다. 목록은 하나의 변수에 여러 항목을 저장하는 데 사용되며 대괄호를 사용하여 만들 수 있습니다. 마찬가지로 튜플은 단일 변수에 여러 항목을 저장할 수 있으며 괄호를 사용하여 선언할 수 있습니다.

목록과 튜플 사이에는 많은 차이점 이 있지만 다음과 같이 몇 가지 유사점도 있습니다.

  • 두 데이터 구조는 모두 항목 모음을 저장하는 시퀀스 데이터 유형입니다.
  • 모든 데이터 유형의 항목을 저장할 수 있습니다.
  • 항목은 해당 인덱스로 액세스할 수 있습니다.

목차

목록 대 튜플

아래 표에는 Python에서 목록과 튜플의 기본적인 차이점이 나와 있습니다.

목록 튜플
가변적이다 불변이다
목록에서 반복의 의미는 시간 소모적입니다. 반복의 의미는 튜플에서 훨씬 빠릅니다.
삽입 및 삭제와 같은 작업이 더 잘 수행됩니다. 요소에 더 잘 액세스할 수 있습니다.
더 많은 메모리를 소비합니다. 메모리를 덜 사용합니다.
많은 기본 제공 메서드를 사용할 수 있습니다. 내장된 메서드가 많지 않습니다.
목록에서 예기치 않은 오류 및 변경이 쉽게 발생할 수 있습니다.

예상치 못한 오류와 변경은 튜플에서 거의 발생하지 않습니다.

다음 섹션에서는 더 나은 이해를 위해 목록 대 튜플 에 대한 자세한 버전을 제공합니다.

구문의 차이

소개에서 언급했듯이 목록과 튜플의 구문은 다릅니다. 예를 들어:

목록 번호 = [10, 20, 30, 40]

tup_num = (10, 20, 30, 40)

가변성

목록과 튜플의 가장 중요한 차이점 중 하나는 목록은 변경 가능하지만 튜플은 변경할 수 없다는 것입니다. 이것은 목록을 변경할 수 있고 튜플을 변경할 수 없음을 의미합니다.

따라서 일부 작업은 목록에서 작동할 수 있지만 튜플에서는 작동하지 않습니다. 예를 들어 데이터 과학에서 목록이 이미 있는 경우 목록의 특정 요소를 다시 할당할 수 있습니다. 이와 함께 전체 목록을 재할당할 수 있습니다. 요소 및 요소 조각은 목록에서 삭제할 수 있습니다.

반면에 튜플의 특정 요소는 재할당하거나 삭제할 수 없지만 슬라이스할 수 있으며 전체 튜플을 재할당하고 삭제할 수도 있습니다. 튜플은 변경할 수 없으므로 복사할 수 없습니다.

확인: Python 대 Java

운영

목록 및 튜플과 유사한 작업이 많이 있지만 목록에는 튜플에서 사용할 수 없는 추가 기능이 있습니다. 삽입 및 팝 작업, 목록의 요소 정렬 및 제거입니다.

기능

일부 Python 함수는 len, max, min, any, sum, all 및 sorted와 같은 두 데이터 구조에 모두 적용될 수 있습니다.

크기

Python에서 튜플은 변경할 수 없기 때문에 오버헤드가 낮은 큰 메모리 블록에 할당됩니다. 목록의 경우 작은 메모리 블록이 할당됩니다. 둘 사이에서 튜플은 메모리가 더 작습니다. 이것은 많은 수의 요소가 있을 때 목록보다 튜플을 더 빠르게 만드는 데 도움이 됩니다.

요소 유형

서로 다른 데이터 유형에 속하는 요소, 즉 이종 요소는 일반적으로 튜플에 저장됩니다. 동종 요소, ​​동일한 데이터 유형의 요소는 일반적으로 목록에 저장됩니다. 그러나 이것은 데이터 구조에 대한 제한이 아닙니다. 유사한 데이터 유형 요소를 튜플에 저장할 수 있고 다른 데이터 유형 요소도 목록에 저장할 수 있습니다.

길이

길이는 두 데이터 구조에서 다릅니다. 튜플의 길이는 고정된 반면 목록의 길이는 가변적입니다. 따라서 생성된 목록의 크기는 변경할 수 있지만 튜플의 경우에는 그렇지 않습니다.

디버깅

디버깅과 관련하여 목록 대 튜플에서 튜플은 불변성으로 인해 대규모 프로젝트에서 디버그하기가 더 쉽습니다. 따라서 프로젝트가 작거나 데이터 양이 적다면 목록을 사용하는 것이 좋습니다. 목록은 변경할 수 있지만 튜플은 변경할 수 없으므로 튜플을 더 쉽게 추적할 수 있기 때문입니다.

중첩 목록 및 튜플

튜플은 목록에 저장할 수 있고 마찬가지로 목록은 튜플 안에 저장할 수 있습니다. 중첩된 튜플에서 튜플은 더 많은 튜플을 보유할 수 있습니다. 그리고 중첩 목록에서 목록은 더 많은 목록을 포함할 수 있습니다.

용도

다음과 같은 데이터 구조 중 하나를 사용하는 것이 더 나은 다양한 경우가 있음을 이해하는 것이 중요합니다. 둘 중 하나를 사용하는 것은 프로그래머에 따라 다릅니다. 즉, 나중에 데이터를 변경할지 여부에 따라 하나를 선택합니다.

튜플은 데이터를 저장할 키가 없는 사전과 동일하게 사용할 수 있습니다. 튜플이 목록 내에 저장되면 데이터를 읽기가 더 쉽습니다.

읽기: Python의 더 많은 유형의 데이터 구조

결론

이 기사는 목록과 튜플의 차이점을 이해하는 데 도움이 됩니다. 두 유형 모두 Python의 데이터 구조이지만 선택 시 이러한 차이점에 익숙해지는 것이 중요합니다. 명심해야 할 가장 중요한 차이점은 목록은 변경 가능하고 튜플은 변경할 수 없으며 목록에는 가변 크기가 있고 튜플에는 고정 크기가 있다는 것입니다. 마지막으로 튜플의 작업을 더 빠르게 실행할 수 있습니다.

이 기사를 읽고 있다면 아마도 Python 개발자가 되려는 야망이 있을 것입니다. 파이썬을 배우는 데 관심이 있고 다양한 도구와 라이브러리에 손을 대고 싶다면 데이터 과학에서 IIIT-B & upGrad의 Executive PG Program을 확인하십시오.

데이터 저장에 Python 목록이 선호되는 경우는 언제입니까?

Python 목록은 다음 시나리오에서 데이터를 저장하는 가장 좋은 데이터 구조로 간주됩니다. 목록은 데이터 유형이 다른 다양한 값을 저장하는 데 사용할 수 있으며 각각의 인덱스로만 액세스할 수 있습니다. 요소에 대해 수학 연산을 수행해야 할 때 목록을 사용하면 요소를 직접 수학적으로 연산할 수 있기 때문에 목록을 사용할 수 있습니다. 목록의 크기를 조정할 수 있으므로 저장할 요소의 수를 확신할 수 없는 경우 데이터를 저장하는 데 사용할 수 있습니다.

Namedtuple의 다양한 연산을 기술하십시오.

Python의 namedtuple은 다양한 작업을 수행합니다. 다음은 명명된 튜플이 수행하는 가장 일반적인 작업 목록입니다. 인덱스로 액세스, 키 이름으로 액세스, make(), _asadict(), "**"(이중 별) 연산자 사용, _fileds(), _replace (), 등.

목록을 만드는 다양한 방법은 무엇입니까?

여기에 언급된 여러 가지 방법으로 Python 목록을 만들 수 있습니다. for 루프 사용 - for 루프는 목록을 만드는 가장 기본적인 방법입니다. 목록은 세 가지 간단한 방법으로 for 루프를 사용하여 만들 수 있습니다. 빈 목록 만들기, 삽입할 모든 요소에 대해 반복, append() 함수를 사용하여 목록의 각 요소 추가. map() 사용: Python의 map() 함수를 대신 사용하여 목록을 만들 수 있습니다. 이 함수는 두 개의 매개변수를 받습니다. Function: 맵이 각 iterable을 전달하는 함수이고 Iterable: 매핑할 요소 또는 iterable입니다. 목록 이해 사용: 이 방법은 세 가지 방법 중 가장 최적화되어 있습니다. 위의 방법에서는 먼저 빈 목록을 만들어야 하지만 목록 이해를 사용하면 한 줄을 사용하여 목록의 모든 요소를 ​​삽입할 수 있습니다.