중화사전망 - 자전 검색 - Dict 형식 사전

Dict 형식 사전

이 문서에서는 Python 에 내장된 데이터 유형 list, tuple, dict 및 set 의 차이점과 사용법에 대해 설명합니다. 모두 매우 기초적인 지식이며, 매우 상세하고 포괄적이며, 필요한 친구가 참고할 수 있습니다.

파이썬 언어는 간단하고 명료하며, 더 적은 코드로 같은 기능을 할 수 있다. Python 의 네 가지 내장 데이터 유형 (list, tuple, dict, set) 은 각각 list, tuple, dict, set 입니다. 다음은 이에 대한 간략한 요약입니다.

카탈로그

글자 그대로 한 세트를 뜻한다. 파이썬에서 목록의 요소는 괄호 [] 로 표시되며 목록은 다음과 같이 정의할 수 있습니다.

L = [12,' 중국', 19.998]

요소의 유형이 같을 필요는 없다는 것을 알 수 있습니다. 물론 빈 목록을 정의할 수도 있습니다.

L = []

파이썬의 목록은 순차적이므로 목록에 액세스하려면 배열의 아래 첨자처럼 0 부터 시작하는 일련 번호로 액세스해야 합니다.

& gt& gt& gt 인쇄 l [0]

12

절대 국경을 넘지 마라, 그렇지 않으면 너는 잘못을 보고할 것이다.

& gt& gt& gt 인쇄 l [3]

역추적 (최근 호출):

파일' < 표준 가져오기', 1 행, in< 모듈>

인덱스 오류: 목록 인덱스가 범위를 벗어났습니다

리스트는 반대 순서로 액세스할 수도 있습니다. 일련 번호는 아래 첨자로 표시됩니다 (예: "맨 아래에서 시작하는 x"). 예를 들어 아래 첨자-1 은 끝에서 첫 번째 요소를 나타냅니다.

& gt>>l = [12,' 중국', 19.998]

& gt& gt& gt 인쇄 l [-1]

19.998

-4 분명히 엉뚱하다.

& gt& gt& gt 인쇄 l [-4]

역추적 (최근 호출):

파일' <pyshell#2', 1 행, in< 모듈>

L [-4] 인쇄

인덱스 오류: 목록 인덱스가 범위를 벗어났습니다

& gt& gt& gt

내장 append () 메서드는 꼬리에 목록을 추가하고 insert () 메서드는 지정된 위치 (아래 첨자는 0 부터 시작) 에 목록을 추가합니다.

& gt>>l = [12,' 중국', 19.998]

& gt& gt& gtl. 추가 ("잭")

& gt& gt& gt 인쇄 l

[12,' 중국', 19.998,' 잭']

& gt& gt& gtl. insert( 1, 3. 14)

& gt& gt& gt 인쇄 l

[12,3.14,' 중국', 19.998,' 잭']

& gt& gt& gt

Pop () 를 사용하여 마지막 꼬리 요소를 제거하거나 매개 변수를 지정하여 지정된 위치를 제거할 수 있습니다.

& gt& gt& gt 팝 음악 ()

& gt& gt& gt 인쇄 l

[12,3.14,' 중국', 19.998]

& gt& gt& gt 팝 음악 (0)

12

& gt& gt& gt 인쇄 l

[3. 14,' 중국', 19.998]

아래 첨자를 복사하고 바꿀 수도 있습니다.

& gt>>l [1] = "미국"

& gt& gt& gt 인쇄 l

[3. 14,' 미국', 19.998]

튜플

튜플은 "변경할 수 없는" 목록으로 간주될 수 있으며 액세스는 아래 첨자와 괄호 () 로 표시됩니다.

& gt& gt& gtt =(3. 14,' 중국',' 제이슨')

& gt& gt& gt 인쇄 t

(3. 14, "중국", "제이슨")

그러나 대체자는 재지정할 수 없습니다.

& gt>>t [1] =' 미국'

역추적 (최근 호출):

파일' <pyshell#2 1', 1 줄, in< 모듈>

T [1] =' 미국'

잘못된 유형:' 튜플' 객체는 항목 할당을 지원하지 않습니다

Pop, insert 및 append 메서드도 없습니다.

빈 요소 튜플을 생성할 수 있습니다.

T = ()

또는 단일 요소 튜플 (예: 플라스틱 모호성을 방지하고 선언하기 위해 쉼표를 추가하는 경우):

T =(3. 14

그럼 이런 타입의 튜플은 무슨 소용이 있나요? 하나의 함수가 여러 반환 값을 반환하도록 하려면 하나의 튜플만 반환하면 됩니다. 튜플에는 여러 값이 포함되어 있고 변경되지 않기 때문입니다 (Java 의 final 처럼). 물론 튜플도 가변적입니다. 예를 들면 다음과 같습니다.

& gt& gt& gtt =(3. 14,' 중국',' 제이슨', ['a', b'])

& gt& gt& gt 인쇄 t

(3. 14,' 중국',' 제이슨', ['a', b'])

& gt>>l = t [3]

& gt>>l [0] =122

& gt>>l [1] = 233

& gt& gt& gt 인쇄 t

(3. 14,' 중국',' 제이슨', [122, 233])

이는 Tuple 의 가변성이란 위치를 가리키는 것이 불변이라는 것을 의미하기 때문입니다. 이 경우 네 번째 요소는 기본 유형이 아니라 목록 유형이기 때문에 T 가 가리키는 목록의 위치는 변경되지 않지만 목록 자체의 내용은 변경될 수 있습니다. 목록 자체의 메모리 할당이 불연속적이기 때문입니다.

사전

Dict 는 파이썬에서 매우 중요한 데이터 유형입니다. 문자 그대로, 그것은 살아있는 사전이며, 실제로는 키-값 키-값 쌍이다. HashMap 과 마찬가지로 중괄호 {} 로 정의할 수 있으며 c 언어의 구조를 정의하는 것과 유사합니다.

& gt& gt& GTD = {

아담: 95 년,

리사: 85 세,

바트: 59 세,

폴: 75 세

}

& gt& gt& gt 인쇄 d

{"리사": 85 세, "폴": 75 세, "아담": 95 세, "바트": 59 세}

인쇄된 결과는 모두 키: 값 형식이며 길이는 len 함수 (List, tuple 도 가능) 를 통해 계산할 수 있습니다.

& gt& gt& gt 렌즈

키 값 쌍을 통해 dict 에 직접 요소를 추가할 수 있습니다.

& gt& gt& gt 인쇄 d

{"리사": 85 세, "폴": 75 세, "아담": 95 세, "바트": 59 세}

& gt& gt& GTD [존스] = 99

& gt& gt& gt 인쇄 d

{"리사": 85 세, "폴": 75 세, "아담": 95 세, "존스": 99 세, "바트": 59 세}

List 와 Tuple 은 아래 첨자를 사용하여 내용에 액세스하는 반면 Dict 는 키를 사용합니다. (String, integer, floating-point, tuple 모두 dict 키로 사용할 수 있습니다.).

& gt& gt& gt 인쇄체 d ['아담']

95

키가 존재하지 않으면 다음과 같은 오류가 보고됩니다.

& gt& gt& gt 인쇄체 d ['잭']

역추적 (최근 호출):

파일' <pyshell#40', 1 행, in< 모듈>

인쇄체 d ['잭']

주요 오류: "잭"

따라서 액세스하기 전에 키가 있는지 확인하는 것이 좋습니다.

& gt& gt& gt d 에서 "Adam" 인 경우: "exist key" 를 인쇄합니다

기존 키

또는 보험 취득 방법을 직접 사용하십시오.

& gt& gt& gt 인쇄 D. get ('아담')

95

& gt& gt& gt 인쇄 d.get ('제이슨')

아무도 없다

Dict 순회의 경우 실제로는 모든 키의 컬렉션을 통과한 다음 이 키를 사용하여 적절한 값을 얻습니다.

D 의 키에 대한>& gt& gt: 인쇄 키:':', d.get (키)

리사: 85 세

폴: 75 세

아담: 95 세

바트: 59 세

Dict 에는 몇 가지 기능이 있습니다.

검색 속도가 매우 빠르다. 속도는 10 또는 65438+100,000 과 동일하지만 메모리를 많이 사용합니다. 반면 List 는 메모리를 적게 사용하지만 검색 속도가 느립니다. 이것은 배열과 연결된 목록의 차이와 같습니다. 배열은 열 공간의 양을 모르기 때문에 일반적으로 처음에는 많은 공간을 열지만 아래 첨자로 직접 검색하는 것이 빠릅니다. 그러나 연결된 목록이 차지하는 공간은 작지만 검색 시 순서대로 순회해야 하므로 속도가 느려집니다.

순서가 없다. Dict 는 무질서하고, List 는 질서 정연한 집합이므로 Dict 를 사용하여 질서 정연한 컬렉션을 저장할 수 없습니다.

키는 변하지 않고 값은 가변적입니다. 키-값 쌍이 dict 에 추가되면 해당 키는 변경할 수 없지만 값은 변경할 수 있습니다. 따라서 List 는 Dict 의 키로 사용할 수 없지만 값으로 사용할 수 있습니다.

& gt& gt& gt 인쇄 d

{"리사": 85 세, "폴": 75 세, "아담": 95 세, "존스": 99 세, "바트": 59 세}

& gt>>D ['새 목록'] = [12,23, 잭]

& gt& gt& gt 인쇄 d

{'바트': 59,' 새 목록': [12, 23,' 잭'],' 아담': 95,' 존스': 99,' 리사

키는 중복될 수 없습니다. (다음 예제에서는 "Jone": 0 이 추가되었지만 실제로 키 "jone" 이 이미 있으므로 원래 값만 변경되었습니다. ) 을 참조하십시오

& gt& gt& gt 인쇄 d

{'바트': 59,' 새 목록': [12, 23,' 잭'],' 아담': 95,' 존스': 99,' 리사

& gt>>D ['존스'] = 0

& gt& gt& gt 인쇄 d

{'Bart': 59,' new list': [12, 23, Jack],' Adam': 95,' jone':;

Dict merge, 두 개의 Dict 를 하나로 결합하는 방법, dict 함수를 사용할 수 있습니다.

& gt>>D1= {'마이크':12,' 잭':19}

& gt> & gtd2 = {'jone': 22,' ivy':17}

& gt> & gtdmerge = dict (d1.items ()+d2.items ())

& gt& gt& gt 인쇄 데이터 병합

{'마이크':12,' 잭':19,' 존스': 22,' 아이비':17

또는

& gt> & gtdmerge2 = dict (d1,**d2)

& gt& gt& gt 인쇄 데이터 병합 2

{'마이크':12,' 잭':19,' 존스': 22,' 아이비':17

방법 2 는 방법 1 보다 훨씬 빠르며 방법 2 는 다음과 같습니다.

& gt> & gtdmerge3 = dict (d1)

& gt& gt& GTD merge 3. update(D2)

& gt& gt& gt 인쇄 데이터 병합

{'마이크':12,' 잭':19,' 존스': 22,' 아이비':17

설정

설정은 Dict 에서 키를 뽑는 것과 같습니다. 목록과 비슷하지만 내용은 반복할 수 없습니다. Set () 메서드를 호출하여 만듭니다.

& gt& gt& GTS = 컬렉션 (['a',' b',' c']

Dict 가 무질서한 것처럼, set 도 무질서하며 중복 요소를 포함할 수 없습니다.

컬렉션에 액세스하는 의미는 요소가 컬렉션에 있는지 확인하는 것입니다.

& gt& gt& gt 는 s 에' a' 를 인쇄합니다

진짜

& gt& gt& gt 는 s 에' d' 를 인쇄합니다

잘못된

대소문자에 민감하다.

또한 다음과 같은 용도로 트래버스됩니다.

S = 집합 ([('아담', 95), ('리사', 85), ('바트', 59))

# 튜플

S 의 x:

X [0],':', x [1] 인쇄

& gt& gt& gt

리사: 85 세

아담: 95 세

바트: 59 세

요소를 추가 및 제거합니다 (반복하지 않음). 요소를 추가할 때는 set 의 add () 메서드를 사용합니다.

& gt& gt& GTS = 집합 ([1, 2,3])

& gt& gt& GTS. add(4)

& gt& gt& gt 인쇄 s

집합 ([1, 2, 3, 4])

추가한 요소가 이미 컬렉션에 있는 경우 add () 는 오류를 제공하지 않지만 추가되지 않습니다.

& gt& gt& GTS = 집합 ([1, 2,3])

& gt& gt& GTS. add(3)

& gt& gt& gt 인쇄 s

집합 ([1, 2, 3])

컬렉션에서 요소를 삭제할 때는 컬렉션의 remove () 메서드를 사용합니다.

& gt& gt& GTS = 집합 ([1, 2,3,4])

& gt& gt& gt 제거 (4)

& gt& gt& gt 인쇄 s

집합 ([1, 2, 3])

삭제된 요소가 컬렉션에 없으면 remove () 에서 오류를 보고합니다.

& gt& gt& GTS = 집합 ([1, 2,3])

& gt& gt& gt 제거 (4)

역추적 (최근 호출):

파일' < 표준 가져오기', 1 행, in< 모듈>

중요 오류: 4

따라서 요소가 여러 가지 조건을 충족하는지 여부를 판단하려면 set 이 최선의 선택입니다. 다음 예:

Months = 집합 (['1 월',' 2 월',' 3 월',' 4 월',' 5 월',' 6 월',' 7 월',' 8 월','

X1=' 2 월' 입니다

X2 =' sun'

X 1 월 단위인 경우:

X 1: normal 을 인쇄합니다

그렇지 않은 경우:

X 1: 오류 인쇄

X2 가 월 단위인 경우:

X2: normal 을 인쇄합니다

그렇지 않은 경우:

X2: 오류 인쇄

& gt& gt& gt

X 1: 좋습니다

X2: 오류