> 백엔드 개발 > 파이썬 튜토리얼 > 목록, 튜플, 세트 및 사전의 차이점은 무엇입니까?

목록, 튜플, 세트 및 사전의 차이점은 무엇입니까?

Robert Michael Kim
풀어 주다: 2025-03-19 11:52:25
원래의
912명이 탐색했습니다.

목록, 튜플, 세트 및 사전의 차이점은 무엇입니까?

파이썬에는 돌연변이, 순서 및 포함 할 수있는 요소 유형과 같은 특성에 따라 다른 목적을 달성하는 몇 가지 내장 데이터 구조가 있습니다. 이러한 각 데이터 구조를 살펴 보겠습니다.

  1. 목록 :

    • 돌연변이 : 돌연변이 가능성은 생성 후 요소를 변경, 추가 또는 제거 할 수 있습니다.
    • 순서 : 순서, 요소는 특정 순서로 저장되며 해당 순서는 의존 할 수 있습니다.
    • 요소 : 다른 유형의 중복 요소 및 요소를 저장할 수 있습니다.
    • 구문 : 정사각형 브래킷을 사용하여 정의되어 [] , 예를 들어, my_list = [1, 2, 3] .
  2. 튜플 :

    • 돌연변이 : 불변성은 생성 후 요소를 변경, 추가 또는 제거 할 수 없음을 의미합니다.
    • 순서 : 목록과 유사한 순서는 특정 순서로 저장됩니다.
    • 요소 : 다른 유형의 중복 요소 및 요소를 저장할 수 있습니다.
    • 구문 : 괄호를 사용하여 정의 됨 () , 예를 들어, my_tuple = (1, 2, 3) .
  3. 세트 :

    • 돌연변이 : 돌연변이 성 ( set ) 또는 불변 ( frozenset ) 일 수 있습니다.
    • 순서 : 순서대로, 요소는 특정 순서로 저장되지 않으며 주문에 의존 할 수 없습니다.
    • 요소 : 중복 요소를 저장할 수 없으며 해시 가능해야합니다 (예 : 목록 또는 기타 세트를 포함 할 수 없음).
    • 구문 : Curly Braces {} 또는 set() 함수를 사용하여 정의 됨, 예 : my_set = {1, 2, 3} 또는 my_set = set([1, 2, 3]) .
  4. 사전 :

    • Motability : Mutable, 생성 후 키 값 쌍을 변경, 추가 또는 제거 할 수 있습니다.
    • 순서 : Python 3.7 (이전의 순서대로) 이후 주문. 즉, 키는 삽입 된 순서대로 저장됩니다.
    • 요소 : 키는 독특하고 해시 가능해야하며 값은 모든 유형 일 수 있습니다.
    • 구문 : key value 쌍이있는 Curly Braces {} my_dict = {'key1': 'value1', 'key2': 'value2'} 사용하여 정의됩니다.

Mutable의 주문 품목을 저장하는 데 어떤 데이터 구조를 사용해야합니까?

Mutable, 주문한 품목을 저장 해야하는 경우 최상의 선택은 목록 입니다. 목록은 순서를 유지하고 시퀀스가 ​​생성 된 후 시퀀스를 수정할 수있는 일련의 항목을 저장하도록 설계되었습니다. append() , insert() , pop()remove() 와 같은 메소드를 사용하여 요소를 추가하거나 제거 할 수 있으며 (인덱스별로 개별 요소를 변경할 수도 있습니다.

Mutable, 순서 항목에 목록을 사용하는 예 :

 <code class="python">my_list = [1, 2, 3] my_list.append(4) # Adds 4 to the end my_list.insert(1, 1.5) # Inserts 1.5 at index 1 my_list[2] = 2.5 # Changes the value at index 2 to 2.5 print(my_list) # Output: [1, 1.5, 2.5, 3, 4]</code>
로그인 후 복사

파이썬에서 키를 사용하여 항목을 효율적으로 검색하려면 어떻게해야합니까?

파이썬에서 키를 사용하여 항목을 효율적으로 검색하려면 사전을 사용해야합니다. 사전은 특별히 빠른 키 기반 조회 용으로 설계되었으며 요소에 액세스하기위한 평균 시간 복잡성이 있습니다. 따라서 관련 키로 자주 값에 액세스 해야하는 상황에 이상적입니다.

키 기반 검색에 사전 사용의 예 :

 <code class="python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'} print(my_dict['name']) # Output: Alice print(my_dict.get('age')) # Output: 30</code>
로그인 후 복사

get() 메소드는 키를 찾을 수없는 경우 기본값을 지정할 수 있으므로 특히 유용합니다. 이는 KeyError 예외를 피할 수 있습니다.

 <code class="python">print(my_dict.get('country', 'Unknown')) # Output: Unknown</code>
로그인 후 복사

멤버십 테스트에 세트를 사용하는 성능은 무엇입니까?

멤버십 테스트에 세트를 사용하면 상당한 성능 이점이 있습니다. 세트에서 멤버십 테스트의 시간 복잡성은 평균적으로 O (1)이므로 대형 데이터 세트의 효율성이 높습니다. 세트는 해시 테이블을 사용하여 구현되므로 빠른 조회가 가능하기 때문입니다.

멤버십 테스트 세트 사용 예 :

 <code class="python">my_set = {1, 2, 3, 4, 5} print(3 in my_set) # Output: True print(6 in my_set) # Output: False</code>
로그인 후 복사

대조적으로, 목록의 멤버십을 확인하면 시간 복잡성이 O (N)의 복잡성이있어 큰 목록의 경우 느리게 될 수 있습니다. 비교는 다음과 같습니다.

 <code class="python">my_list = [1, 2, 3, 4, 5] print(3 in my_list) # Output: True, but slower for larger lists</code>
로그인 후 복사

따라서 기본 작업에 컬렉션에 항목이 있는지 확인하는 경우 세트를 사용하여 특히 더 큰 데이터 세트에서 코드의 성능을 크게 향상시킬 수 있습니다.

위 내용은 목록, 튜플, 세트 및 사전의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿