>  기사  >  백엔드 개발  >  Python의 Tuple 및 Dict에 대한 자세한 분석

Python의 Tuple 및 Dict에 대한 자세한 분석

Y2J
Y2J원래의
2017-05-03 15:59:051686검색

이 글은 Python의 Tuple과 Dict에 대한 관련 정보를 주로 소개하고 있으며, 예제 코드를 통해 매우 자세하게 소개하고 있습니다. 필요한 친구들은 꼭 참여해 보세요. 바라보다.

서문

이 문서에는 Python 데이터 유형의 Tuple 및 Dict에 대한 이해와 일부 내장된 메서드 소개가 기록되어 있습니다. 아래에서는 할 말이 많지 않으니, 자세한 소개를 살펴보겠습니다.

튜플

특징: 튜플 내의 데이터는 변경할 수 없습니다.

요소 정의 : T = (1,)

>>> T=(1,)
>>> type(T)
<type &#39;tuple&#39;>

특수 조상 : "변수" 조상

>>> T=(1,2,3,[1,2,3])
>>> T[3][2] = &#39;vimiix&#39;
>>> T
(1, 2, 3, [1, 2, &#39;vimiix&#39;])

조상이 바뀐 것 같은데, 실제로 바뀐 것은 [1, 2, 3] 요소이다. 이 목록의 메모리 주소는 변경되었지만 조상 T에 있는 이 목록의 메모리 주소는 변경되지 않았습니다.

결론: 실제로 조상의 요소에는 가변 요소가 포함되어 있지만 조상에 있는 요소의 메모리 주소는 변경되지 않았으므로 소위 조상의 불변성은 조상이 가리키는 메모리 주소가 요소는 변하지 않습니다

사전

특징:

1. 사전은 유일한 것 Python의 매핑 유형

2. 사전의 키(KEY)는 불변 객체여야 합니다. -> 사전은 Hash 알고리즘을 통해 컴퓨터에 저장되기 때문에 Hash의 특징은 KEY가 KEY가 가변적이면 데이터가 지저분해집니다.

>>> D = {1:3,&#39;vimiix&#39;:88}
>>> type(D)
<type &#39;dict&#39;>
rrree

이 오류에서 볼 수 있듯이 사전의 키는 불변 객체만 사용할 수 있지만(조상은 괜찮습니다) 사전의 값에 대해서는 그러한 요구 사항이 없습니다

키 값 쌍은 콜론 ':'으로 구분되고, 각 쌍은 쉼표 ','로 구분되며, 모두 중괄호 '{}'로 묶입니다.

사전에 있는 키-값 쌍이 순서가 맞지 않아 인덱스로 접근할 수 없으며, 해당 값은 키를 통해서만 얻을 수 있다.

확장: 정의 과정에서 동일한 키가 나타나는 경우 마지막 키-값 쌍은 최종 저장 중에 유지됩니다.)

>>> D={[1,2,3]:100}
Traceback (most recent call last):
 File "<pyshell#15>", line 1, in <module>
 D={[1,2,3]:100}
TypeError: unhashable type: &#39;list&#39; (这里提示list是不能被Hash计算的数据类型,因为list是可变的数据类型)
>>>

생성 및 액세스

생성하는 첫 번째 방법: 직접 생성 중괄호 안에 키-값 쌍을 포함하여

두 가지 생성 방법: 내장 함수 dict()를 사용하여 생성하세요. 주의하세요! dict()대괄호 안에는 하나의 매개변수만 있을 수 있으며 모든 키-값 쌍을 묶어야 합니다.

(1)

>>> D= {1:2,1:3}
>>> D
{1: 3}

(2) 키워드 매개변수도 지정할 수 있습니다

>>> D =dict((1,2),(3,4),(5,6))
Traceback (most recent call last):
 File "<pyshell#20>", line 1, in <module>
 D =dict((1,2),(3,4),(5,6))
TypeError: dict expected at most 1 arguments, got 3
>>> D =dict(((1,2),(3,4),(5,6)))
>>> D
{1: 2, 3: 4, 5: 6}

여기서는 소문자 'vimiix'에 작은따옴표를 추가할 수 없습니다. 그렇지 않으면 오류가 보고됩니다!

(3) dict의 내장 메소드인 .fromkeys에는

>>> D=dict(vimiix = &#39;VIMIIX&#39;)
>>> D
{&#39;vimiix&#39;: &#39;VIMIIX&#39;}

두 개의 매개변수가 있습니다. 실제 제작 과정에서는 기존 데이터를 기반으로 해당 데이터를 생성하기 위해 사전 생성을 사용합니다. 의미가 있습니다.

생성 밤 사전:

>>> D = dict.fromkeys((1,&#39;vimiix&#39;),(&#39;common&#39;,&#39;value&#39;))
>>> D
{1: (&#39;common&#39;, &#39;value&#39;), &#39;vimiix&#39;: (&#39;common&#39;, &#39;value&#39;)}
>>>

이것은 단지 생성 밤이지만 이상적인 대답은 아닙니다. 일대일 키-값 쌍을 생성하는 방법을 배워야 합니다

사전 내장 메서드:

get() :

키에 해당하는 값을 가져옵니다. 찾을 수 없으면 None을 반환합니다. .찾으면 해당 값을 반환합니다

pop(key):

키에 해당하는 값을 팝업하고 기본값은 마지막 값으로 설정합니다

popitem() :

사전의 키와 값 쌍(항목)을 무작위로 반환하고 삭제합니다. 왜 무작위로 삭제되나요? 사전은 순서가 없기 때문에 소위 "마지막 항목"이나 다른 순서가 없습니다. 작업 중 항목을 하나씩 삭제해야 하는 작업을 접하게 된다면 popitem() 방법을 사용하는 것이 매우 효율적입니다.

update() :

키-값 쌍 업데이트 또는 추가(있는 경우 변경하거나 권장)

>>> L1 = [1,2,3]
>>> L2 = [&#39;a&#39;,&#39;v&#39;,&#39;vimiix&#39;]
>>> D={a:b for a in L1 for b in L2}
>>> D
{1: &#39;vimiix&#39;, 2: &#39;vimiix&#39;, 3: &#39;vimiix&#39;}

요약

위 내용은 Python의 Tuple 및 Dict에 대한 자세한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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