Python의 데이터 구조 유형: 목록, 튜플, 집합 및 사전

게시 됨: 2020-12-30

Python은 모든 데이터 과학 애호가가 가장 좋아하는 언어입니다. 다재다능한 특성과 이해하기 쉬운 접근 방식을 통해 개발자는 사소한 세미콜론 버그를 수정하거나 오버헤드 브래킷을 닫는 데 시간을 소비하는 대신 데이터의 추세를 이해하고 의미 있는 통찰력을 도출하는 데 더 집중할 수 있습니다. 초보자들에게 가장 인기 있는 언어인 Python은 빠르게 적응하므로 이 언어를 잘 이해하는 것이 중요합니다.

데이터 구조는 모든 프로그래밍 언어에서 필수적인 개념입니다. 데이터 유형에 따라 변수와 데이터가 가능한 최선의 방법으로 메모리에서 저장되고 검색될 수 있는 방법을 정의합니다. 또한 변수 간의 관계를 정의하여 변수에 대해 수행해야 하는 작업과 기능을 결정하는 데 도움이 됩니다. Python이 데이터를 관리하는 방법을 이해합시다.

목차

Python의 데이터 구조 유형

1. 목록

이것은 Python 프로그래밍에서 가장 간단하고 일반적으로 사용되는 데이터 구조입니다. 이름에서 알 수 있듯 보관할 물품의 모음입니다. 저장된 항목은 숫자, 문자열, 부울, 개체 등 모든 유형이 될 수 있으므로 이질적입니다. 이것은 목록이 모든 유형의 데이터를 가질 수 있고 모든 유형의 루프를 사용하여 이 목록을 반복할 수 있음을 의미합니다.

저장된 요소는 일반적으로 목록의 위치를 ​​정의하는 인덱스와 연결됩니다. 인덱스 번호는 0부터 시작합니다. 목록은 변경 가능합니다. 즉, 목록의 요소는 정의 후에도 추가, 제거 또는 변경할 수 있습니다. 이 데이터 구조는 일반적으로 동질적인 다른 언어의 배열과 같습니다. 즉, 한 가지 유형의 데이터만 배열에 저장할 수 있습니다. 목록에 대한 몇 가지 기본 작업은 다음과 같습니다.

  • Python에서 목록을 선언하려면 대괄호 안에 넣습니다.

sample_list = ['업그레이드', '1', 2]

  • 빈 목록을 초기화하려면:

sample_list = 목록()

  • 목록에 요소 추가:

sample_list.append('new_element')

  • 목록에서 요소 제거:

sample_list.remove(<요소 이름>) 특정 요소를 제거합니다.

del sample_list[<요소 인덱스 번호>]는 해당 인덱스의 요소를 제거합니다.

sample_list.pop(<element index num>)은 해당 인덱스의 요소를 제거하고 제거된 요소를 반환합니다.

  • 모든 인덱스에서 요소를 변경하려면:

sample_list[<모든 인덱스>] = 새 항목

  • 슬라이싱 : 특정 경우에 목록의 항목을 필터링할 수 있는 중요한 기능입니다. 목록에서 특정 범위의 값만 필요하다고 생각하면 다음과 같이 간단히 수행할 수 있습니다.

sample_list[start: stop: step] 여기서 step은 요소 사이의 간격을 정의하며 기본적으로 1입니다.

자세히 알아보기: 완벽한 의사결정나무를 만드는 방법

2. 튜플

이것은 데이터를 순차적으로 저장하는 또 다른 데이터 구조로, 추가된 데이터가 목록처럼 순서대로 남아 있음을 의미합니다. 같은 줄을 따라 Tuple은 이기종 데이터도 저장할 수 있으며 인덱싱은 동일하게 유지됩니다.

둘 사이의 주요 차이점은 튜플에 저장된 요소는 변경할 수 없으며 정의 후에 변경할 수 없다는 것입니다. 즉, 새 요소를 추가하거나 기존 항목을 변경하거나 튜플에서 요소를 삭제할 수 없습니다. 요소는 교체 없이 인덱싱 또는 언패킹을 통해서만 읽을 수 있습니다.

이것은 생성 측면에서 목록에 비해 튜플을 빠르게 만듭니다. 튜플은 단일 메모리 블록에 저장되지만 목록에는 두 개의 블록이 필요합니다. 하나는 고정 크기이고 다른 하나는 데이터 저장을 위한 가변 크기입니다. 사용자가 저장할 요소에 추가 수정이 필요하지 않다고 확신하는 경우 목록보다 튜플을 선호해야 합니다. 튜플을 사용할 때 고려해야 할 몇 가지 사항:

  • 빈 튜플을 초기화하려면:

sample_tuple = 튜플()

  • 튜플을 선언하려면 항목을 원형 괄호로 묶습니다.

sample_tuple = ('upGrad', '파이썬', 'ML', 23432)

  • 튜플의 요소에 액세스하려면:

sample_tuple[<인덱스 번호>]

3. 세트

수학에서 집합은 서로 관련되거나 관련되지 않을 수 있는 고유한 요소의 잘 정의된 모음입니다. 튜플과 목록에서는 많은 중복 요소를 실패 없이 저장할 수 있지만 설정된 데이터 구조는 고유한 항목만 가져옵니다.

세트의 요소는 무질서한 방식으로 저장됩니다. 즉, 항목이 세트에 무작위로 저장되고 지원되는 명확한 위치나 인덱스가 없으며 세트에서 슬라이싱도 허용되지 않습니다. 세트 자체는 변경 가능하지만 세트 작동 방식이 이러한 요소를 해시하고 이 프로세스에서 변경 불가능한 요소만 해시될 수 있기 때문에 요소는 변경 불가능해야 합니다.

집합에서 요소를 추가하거나 제거할 수 있지만 인덱싱의 개념이 없으므로 요소를 변경할 수 있으므로 변경할 수 없습니다. 수학에서와 마찬가지로 여기에서도 합집합, 교집합, 차분, 분리와 같은 모든 집합 연산을 수행할 수 있습니다. 구현 방법을 살펴보겠습니다.

  • 빈 세트를 초기화하려면:

sample_set = set()

  • 세트에 요소 추가:

sample_set.add(item) 세트에 단일 항목을 추가합니다.

sample_set.update(items) 목록, 튜플 또는 다른 집합을 통해 여러 항목을 추가할 수 있습니다.

  • 세트에서 요소 제거:

sample_set.discard(item) 요소가 없으면 경고 없이 요소를 제거합니다.

sample_set.remove(item) 제거할 요소가 없으면 오류를 발생시킵니다.

  • 집합 작업(초기화된 두 집합 A 및 B 가정):

에이 | B 또는 A.union(B): 조합 작업

A & B 또는 A.intersection(B): 교차로 연산

A – B 또는 A.difference(B): 두 세트의 차이

A ^ B 또는 A.symmetric_difference(B) : 집합의 대칭적 차이

확인: Python의 데이터 프레임

4. 사전

이것은 데이터 요소를 키-값 쌍 방식으로 저장할 수 있는 Python에서 가장 유용한 데이터 구조입니다. 키는 변경할 수 없는 값이어야 하고 값은 변경할 수 있는 항목일 수 있습니다. 이 개념은 단어를 키로, 의미를 값으로 하는 실제 사전의 모습과 같습니다. 사전은 이러한 쌍을 정렬되지 않은 방식으로 저장하므로 이 데이터 구조에는 인덱스 개념이 없습니다. 이와 관련된 몇 가지 중요한 사항:

  • 빈 사전을 초기화하려면:

sample_dict = dict()

  • 사전에 요소를 추가하려면:

sample_dict[키] = 값

이를 수행하는 또 다른 방법은 sample_dict = {key: value}입니다.

이 사전을 인쇄하면 다음과 같이 출력됩니다. {'key1': value, 'key2': value … }

  • 사전의 키와 값을 얻으려면:

sample_dict.keys(): 키 목록을 반환합니다.

sample_dict.values(): 값 목록을 반환합니다.

sample_dict.items(): 키-값 쌍의 뷰 개체를 목록의 튜플로 반환합니다.

세계 최고의 대학에서 데이터 과학 과정배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

결론

Python의 데이터 구조에 대한 기본 지식을 이해하는 것이 중요합니다. 데이터 산업에 있기 때문에 다양한 데이터 구조가 기본 알고리즘에 대한 더 나은 해결 방법을 얻는 데 도움이 될 수 있습니다. 개발자는 결과를 효율적으로 얻을 수 있는 최상의 코딩 방법을 더 잘 알 수 있습니다. 각 데이터 구조의 사용은 고도의 상황 기반이며 엄격한 연습이 필요합니다.

데이터 구조의 중요성은 무엇입니까?

데이터 구조는 모든 프로그래밍 언어의 기본 기둥 중 하나입니다. 데이터가 메모리에 저장되고 조작되는 방법을 정의합니다. 데이터 구조의 개념은 우리가 어떤 프로그래밍 언어에 대해 이야기하든 동일하게 유지됩니다.

가장 일반적인 데이터 구조에는 배열, 목록, 스택, 큐, 트리, 해시맵 및 그래프가 포함됩니다. 그들 중 일부는 내장되어 있고 다른 것들은 사전 정의된 데이터 구조의 도움으로 사용자가 구현해야 합니다.

데이터 구조를 잘 이해하려면 어떻게 해야 합니까?

모든 데이터 구조의 구현 및 작업에 대한 기본 개념이 가장 먼저 취해야 할 단계입니다. 이론적인 개념을 익히고 작업한 후 코딩 부분을 시작할 수 있습니다.

작업 중인 알고리즘이나 데이터 구조의 시간 복잡성과 공간 복잡성을 항상 연구해야 합니다. 이렇게 하면 개념에 대한 적절한 통찰력을 얻을 수 있으며 특정 데이터 구조를 필요로 하는 모든 질문을 해결할 수 있습니다.

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

목록은 데이터 유형이 다른 다양한 값을 저장하는 데 사용할 수 있으며 해당 인덱스로만 액세스할 수 있습니다. 요소에 대해 수학 연산을 수행해야 할 때 목록을 사용하면 요소를 직접 수학적으로 연산할 수 있기 때문에 목록을 사용할 수 있습니다.

목록의 크기를 조정할 수 있으므로 저장할 요소의 수를 확신할 수 없는 경우 데이터를 저장하는 데 사용할 수 있습니다.