파이썬에는 돌연변이, 순서 및 포함 할 수있는 요소 유형과 같은 특성에 따라 다른 목적을 달성하는 몇 가지 내장 데이터 구조가 있습니다. 이러한 각 데이터 구조를 살펴 보겠습니다.
목록 :
[]
, 예를 들어, my_list = [1, 2, 3]
.튜플 :
()
, 예를 들어, my_tuple = (1, 2, 3)
.세트 :
set
) 또는 불변 ( frozenset
) 일 수 있습니다.{}
또는 set()
함수를 사용하여 정의 됨, 예 : my_set = {1, 2, 3}
또는 my_set = set([1, 2, 3])
.사전 :
{}
my_dict = {'key1': 'value1', 'key2': 'value2'}
사용하여 정의됩니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!