>백엔드 개발 >파이썬 튜토리얼 >Python의 목록, 튜플, 집합 및 사전의 차이점

Python의 목록, 튜플, 집합 및 사전의 차이점

silencement
silencement원래의
2019-06-21 11:25:1012654검색

Python의 목록, 튜플, 집합 및 사전의 차이점

1. 목록

1. 모든 개체의 순서가 지정된 컬렉션
목록은 특정 순서로 결합된 모든 유형의 값 집합입니다.
2. 목록을 구성하는 요소를 요소라고 합니다. 각 요소는 인덱스로 식별되며 첫 번째 인덱스는 0이며 시퀀스의 기능을 구현할 수 있습니다.
3. 가변 길이, 이질성 및 임의 중첩
목록의 요소는 모든 유형일 수 있으며 목록 유형도 가능합니다. 즉, 목록은 중첩될 수 있습니다.
4. 변수 시퀀스는
인덱싱, 슬라이싱, 병합, 삭제 및 기타 작업을 지원하며 모두 해당 위치에서 목록을 수정합니다.
5. 개체 참조 배열
목록은 언제든지 일반 배열로 처리될 수 있습니다. 참조가 사용되면 Python은 항상 개체에 대한 참조를 가리키므로 프로그램은 개체의 작업만 처리하면 됩니다. 객체를 데이터 구조 요소나 변수 이름에 할당할 때 Python은 항상 객체의 복사본이 아닌 객체에 대한 참조를 저장합니다.

2. 튜플

1. 목록과 동일

2. 오프셋을 통한 액세스
목록과 동일
3. 불변 시퀀스 유형에 속합니다.
문자열과 유사하지만 튜플은 불변이며 목록의 내부 수정 작업을 지원하지 않습니다. . 메소드 호출을 지원하지 않습니다.
4. 고정 길이, 이종, 임의 중첩
고정 길이는 튜플이 변경 불가능하고 복사되지 않으면 고정 길이를 갖는다는 것을 의미합니다.
5. 객체 참조
목록과 유사하게, 조상은 객체 참조의 배열입니다.
1. 목록 작업보다 빠릅니다.
2. 문자열 형식에 사용할 수 있습니다.

4. 사전 키로 사용



3. 사전

1. 오프셋 대신 키로 읽기

사전은 연관 배열로, 키워드로 색인된 개체 모음이며 키-값을 사용하여 저장되며 검색 속도가 빠릅니다. 2. 순서가 지정되지 않은 임의 개체 모음 사전의 항목에는 "키"로 기호화되는 특정 순서가 없습니다.

3. 가변 길이, 이종, 임의 중첩

목록과 동일, 중첩에는 목록 및 기타 사전 등이 포함될 수 있습니다.
4. 변수 매핑형에 속합니다.
무순서형이므로 시퀀스 연산을 수행할 수 없으나 키를 통해 원격으로 수정 및 값 매핑이 가능합니다. 사전은 유일한 내장 매핑 유형입니다(키를 값에 매핑하는 개체)
5. 개체 참조 테이블
사전은 목록과 마찬가지로 복사본이 아닌 개체 참조를 저장합니다. 사전의 키는 변경할 수 없으며, 목록을 키로 사용할 수 없습니다. 문자열, 프리미티브, 정수 등을 비교할 수 있습니다. 목록과 비교할 때 dict는 검색 및 삽입 속도가 다릅니다. 매우 빠르며 시간이 지나도 변하지 않습니다.
2. 많은 메모리를 차지하고 많은 메모리를 낭비합니다.
목록의 경우는 반대입니다.
1. 요소가 증가함에 따라 증가합니다
2. 작은 공간을 차지하고 메모리를 거의 낭비하지 않습니다
그래서 dict는 공간을 시간으로 교환하는 방법입니다


4. 세트


1. 하지만 값을 저장하지 않으며 키를 반복할 수 없습니다.
세트를 생성하려면 입력 세트로 목록을 제공해야 합니다. s = set([1,2,3]). 매개변수 [1, 2, 3 전달된 ]는 목록이고 표시된 집합([1, 2, 3])은 집합만 알려줍니다. 내부에 1, 2, 3의 3개 요소가 표시되어 있다고 해서 이것이 목록이라는 의미는 아닙니다
2. 반복되는 요소는 집합에서 자동으로 필터링됩니다.

집합은 수학적 의미에서 순서가 없고 반복되지 않는 요소의 집합으로 간주할 수 있으므로 두 집합은 수학적 의미에서 교집합, 합집합 등의 연산을 수행할 수 있습니다

있습니다. 고정된 세트인 forzenset()이라는 세트도 있습니다. 이는 변경할 수 없으며 해시 값을 가지고 있으며 사전 키로 사용할 수 있다는 점은 다른 컬렉션의 요소로도 사용할 수 있다는 것입니다. 단점은 한번 생성되면 변경할 수 없다는 점입니다.

dict와의 비교

1. set과 dict의 유일한 차이점은 해당 값이 저장되지 않는다는 것입니다. dict와 동일한 원칙을 가지며, 두 변수 객체가 동일한지 여부를 판단하는 것이 불가능하고 세트 내에 "중복 요소가 없을 것"이라는 보장이 없기 때문에 제거 가능한 객체에 배치할 수 없습니다

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.