(5)Python에서 배열,리스트 및 딕셔너리의 차이점
오늘 이 글에서는 평소에 제가 헷갈려했던 Python에서 배열, 리스트 및 딕셔너리 차이점에 대해 알아보는 글을 써보겠습니다. 여러분들도 이 글을 보고 평소에 헷갈리셨던 부분이 있었더라면 같이 공유해 보는 시간을 가져보면 좋겠습니다!
최근에 저는 목록과 배열을 같은 의미로 사용하는 제 자신을 발견했습니다.
특히 Python을 생각하면 둘 다 비슷해 보입니다.
사전조차도 적어도 반복할 수 있는 구조에 정보를 저장한다는 동일한 목표를 달성합니다.
그러나 그들 사이의 차이점 목록도 있습니다. 이것이 오늘 이 글에서 다룰 내용입니다.
먼저 배열, 목록 및 사전에 대해 설명하고 마지막으로 이 세 가지의 차이점을 간략하게 비교하겠습니다.
우리가 하지 않을 유일한 비교는 구문을 사용하는 것입니다. 작동하려면 다른 구문이 필요하기 때문입니다.
배열
배열은 한 번에 둘 이상의 값을 보유할 수 있는 특수한 유형의 변수입니다. 이를 위해 모든 다른 값을 반복할 수 있는 목록 형식을 만듭니다.
이 유형을 정렬하기 위해 인덱스가 있습니다.
인덱스는 단순히 숫자(0부터 시작)를 할당하여 값이 추가되는 시기를 기준으로 일종의 미리 결정된 순서를 배열에 부여합니다.
메서드 를 사용하여 나중에 정렬할 수 있습니다. 나중에 추가하고 제거할 수도 있습니다.
Python의 배열에 대해 명심해야 할 유일한 사항은 배열 유형이 자동으로 사용할 수 있는 데이터 유형이 아니라는 것입니다.
배열 유형을 가져와야 합니다.
그러나 배열은 인덱스를 할당하기 때문에 이 유형에 중복 값을 추가할 수 있습니다.
목록
목록은 하나의 변수에 여러 값 또는 항목을 저장할 수 있는 데이터 유형입니다. Python에서는 자동으로 데이터 유형이므로 원할 때마다 사용할 수 있습니다.
목록은 목록에 입력될 때 순서가 지정되지만 나중에 변경할 수 있습니다. 목록도 인덱싱되어 0부터 시작하여 목록을 반복할 수 있도록 계산됩니다.
암시적 인덱스는 각 값에 제공되므로 목록 내에서 중복 값을 가질 수 있습니다. 정렬 방법으로도 목록을 정렬할 수 있습니다.
목록의 고유한 기능 중 하나는 다른 유형의 값을 포함할 수 있다는 것입니다. 즉, 동일한 목록 내에 문자열 및 정수와 같은 값을 저장할 수 있습니다.
사전
사전은 여러 값을 단일 데이터 유형으로 저장할 수 있는 또 다른 데이터 유형입니다.
논의된 다른 두 가지 유형과 마찬가지로 사전에는 변수에 추가되는 시점에 따라 미리 결정된 항목 순서가 있습니다.
그러나 딕셔너리 데이터 유형의 큰 차이점 중 하나는 인덱스를 사용하지 않는다는 것입니다.
대신 값은 키-값 쌍에 저장됩니다.
Arrays Vs. Lists Vs. Dictionaries
이제 각 데이터 유형에 대해 조금 더 알게 되었으므로 이들 간의 몇 가지 차이점을 살펴보겠습니다. 먼저 앞에서 설명한 것처럼 배열을 사용하려면 특수 모듈을 가져와야 합니다.
목록과 사전 모두 데이터 유형을 Python의 일반 확장으로 사용할 수 있으며 특별한 작업은 없습니다.
배열에서 모든 데이터 유형은 동일한 값을 가져야 합니다. 예를 들어 문자열로 시작하는 경우 모든 값이 동일한 데이터 유형이어야 하므로 정수도 문자열 형식이어야 합니다.
목록에는 값에 대한 여러 데이터 유형이 있을 수 있습니다. 사전에는 핵심 기능이 있으므로 실제 값은 값 간의 키 일치만큼 중요하지 않습니다.
배열과 목록 모두 인덱스를 사용하여 어떤 순서로 저장된 값을 구별합니다. 그러나 사전은 key:value대신 a를 사용합니다. 즉, 배열과 목록은 사전이 허용하지 않는 중복 값을 허용할 수 있습니다. 이러한 인덱스는 또한 순서로 사용되므로 배열과 목록 모두에서 "reverse" 메서드를 사용하여 순서를 뒤집을 수 있습니다.
사전에는 색인 대신 값이 있는 키가 있기 때문에 역방향 방법이 없습니다. 또 다른 참고 사항은 사전이 입력된 정보의 순서가 항상 동일하게 유지된다는 것을 보장하지 않는다는 것입니다. 이는 인덱스로 번호가 지정되기 때문에 순서를 유지하는 배열 및 목록과 다릅니다.
배열을 사용하여 산술 연산을 직접 처리할 수도 있습니다. 작업을 직접 처리하는 유일한 데이터 유형입니다. 다른 사람들은 데이터에 대해 수학을 수행할 수 있지만 배열만큼 직접적이지는 않습니다.
목록을 사용하면 인쇄할 모든 값을 반복할 필요가 없습니다. 전체 목록을 한 번에 인쇄할 수 있습니다. 이는 값을 반복해야 하는 배열과 다릅니다. 또한 사전을 통해 반복해야 합니다. 그렇지 않으면 사전 값의 임시 목록을 만든 다음 한 번에 인쇄할 수 있습니다. 그러나 추가 작업을 생성하지 않고 배열에 대해 하듯이 값을 반복해야 합니다.
우리가 살펴볼 마지막 요소는 관련된 메모리입니다. 따라서 목록은 목록에서 더 쉽게 추가하고 제거할 수 있도록 만들어졌기 때문에 더 많은 메모리를 사용하는 경향이 있습니다. 이 때문에 그들은 또한 더 짧은 데이터 시퀀스를 선호합니다. 배열의 경우 더 긴 데이터 시퀀스를 보유하도록 구축되므로 더 작은 경향이 있습니다.
사전은 많은 양의 데이터를 저장하도록 만들어졌지만 원하는 것보다 더 많은 메모리를 소모할 수 있으며 할당된 메모리가 부족할 수 있습니다.
결론
지금까지 목록, 배열 및 사전에 대해 간단히 살펴보았습니다. 모두 단일 변수에 여러 값을 보유하지만 모두 다릅니다. 우리가 논의한 것은 이러한 데이터 유형의 Pythonic 버전만 살펴보는 것입니다.
주로 이 기사는 데이터 유형이 왜 그렇게 다른지 기억할 수 있는 기회를 갖기 위한 것이었고, 그 기능을 기억하여 다른 유형보다 하나를 선택해야 하는 이유를 조금이라도 기억할 수 있도록 했습니다. 우리는 구문의 차이점을 살펴보지 않았습니다. 주로 존재하려면 모두 달라야 한다는 것을 이해했기 때문입니다.
Python에서는 저장하는 데이터 유형에 따라 주로 목록이나 사전을 고려할 수 있습니다. 배열이 작동하려면 특별한 가져오기가 필요하기 때문입니다. 그러나 이러한 각 데이터 유형에는 선택해야 하는 이점과 이유가 있습니다.
제가 놓친 차이점에 대해 언제든지 댓글 남겨주세요.