Python의 사전은 실제 세계의 사전과 유사하게 작동합니다. 사전 키는 고유해야 하며 문자열, 정수 및 튜플과 같은 변경할 수 없는 데이터 유형을 가져야 하지만 키 값은 반복될 수 있으며 모든 유형이 될 수 있습니다.
중첩 사전: 중첩 사전 사전을 다른 사전에 배치하는 것을 의미합니다. 중첩은 프로그램에서 모델링할 수 있는 정보가 크게 확장되었기 때문에 매우 유용합니다.
nested_dict
=
<코드 클래스 = "일반"> { <코드 클래스 = "문자열"> `dict1` <코드 클래스 ="일반 ">: { < 코드 클래스 ="문자열 ">` 키_A` <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `값_A` <코드 클래스 ="일반 "> },
<코드 클래스 = "문자열"> `dict2` <코드 클래스 ="일반 ">: { <코드 클래스 = "문자열"> `키_B` <코드 클래스 ="일반 ">: <코드 클래스 ="문자열 ">` 값_B` <코드 클래스="일반">}}
<코드 클래스 = "주석"> # 그림과 같이
# 중첩 사전 생성
사전
<코드 클래스 = "키워드"> = <코드 클래스 = "일반"> { <코드 클래스 = "값"> 1 <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `괴짜` <코드 클래스 ="일반 ">, <코드 클래스 ="값 "> 2 <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `용` <코드 클래스 ="일반 ">, <코드 클래스 ="값 "> 3 <코드 클래스 ="일반 ">: { <코드 클래스 ="문자열 ">` A` <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `환영합니다` <코드 클래스 ="일반 ">, <코드 클래스 ="문자열 ">` B` <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `받는 사람` <코드 클래스 ="일반 ">, <코드 클래스 ="문자열 ">` C` <코드 클래스 = " 일반">: <코드 클래스 = "문자열"> `괴짜` <코드 클래스 ="일반 ">}}
중첩 사전 만들기
Python에서는 중괄호로 묶인 쉼표로 구분된 사전을 배치하여 중첩 사전을 만들 수 있습니다.
# 빈 중첩 사전
Dict
<코드 클래스 = "키워드"> = <코드 클래스 = "일반"> { <코드 클래스 = "문자열"> `Dict1` <코드 클래스 ="일반 "> : {},
`Dict2`
: {}}
인쇄
(
"중첩된 사전 1-"
)
인쇄
(
사전
)
# 동일한 키를 가진 하위 사전
Dict
=
{
`Dict1`
<코드 클래스 = "일반">: { <코드 클래스 = "문자열"> `이름` <코드 클래스 ="일반 "> : ` 알리`
,
`나이`
:
<코드 클래스 = "문자열"> `19` <코드 클래스 ="일반 ">},
<코드 클래스 ="정의되지 않은 공백 "> `Dict2`
: {
` 이름`
<코드 클래스 = "일반" >: <코드 클래스 = "문자열"> `밥` <코드 클래스 ="일반 ">, <코드 클래스 =" 문자열 ">` 나이` <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `25` <코드 클래스 ="일반 ">}}
인쇄
(
"중첩 사전 2- "
)
인쇄
(
Dict
)
# 혼합의 하위 사전 사전 키
Dict
=
{ <코드 클래스 = "문자열"> `Dict1`
<코드 클래스 ="일반 ">: { <코드 클래스 = "값"> 1 <코드 클래스 = "일반 ">: <코드 클래스 = "문자열"> `G` <코드 클래스 ="일반 ">, <코드 클래스 = "값"> 2 <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `F` <코드 클래스 ="일반 ">, <코드 클래스 = "값"> 3 <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `G` <코드 클래스 = "일반">},
<코드 클래스 = "문자열"> `Dict2` <코드 클래스 ="일반 ">: { <코드 클래스 ="문자열 ">` 이름` <코드 클래스 = " 플라이 n">: <코드 클래스 = "문자열"> `괴짜` <코드 클래스 ="일반 ">, <코드 클래스 ="값 "> 1 < 코드 클래스 ="일반 ">: [ <코드 클래스 ="값 "> 1 <코드 클래스 ="일반 ">, <코드 클래스 ="값 "> 2 ]}}
인쇄
(
"중첩 사전 3-"
)
인쇄
<코드 클래스 = "일반"> ( <코드 클래스 = "함수"> 사전 <코드 클래스 = "일반">)
종료:
중첩 사전 1- {`Dict1`: { },` Dict2 `: {}} 중첩 사전 2- {` Dict1`: {`name`:` Ali`, `age`:` 19`}, `Dict2`: {` name`: `Bob`,` age`: ` 25`}} 중첩 사전 3- {`Dict1`: {1:` G`, 2: `F`, 3:` G`}, `Dict2`: {1: [1, 2], `이름`: `괴짜`}}
추가 중첩된 사전에 항목 추가
중첩된 새 사전에 항목을 추가하는 것은 여러 가지 방법으로 수행할 수 있습니다. 중첩된 사전에 사전을 추가하는 한 가지 방법 — 값을 하나씩 추가하는 것입니다. Nested_dict [dict] [key] = ' 값 ' . 다른 방법 — 한 번에 전체 사전 추가,
Nested_dict [dict] = {' 키 ': ' 값 '}
.
Dict
=
<코드 클래스 = "일반"> {}
<코드 클래스 = "키워드"> 인쇄 <코드 클래스 = " plain"> ( "초기 중첩 사전: -"
)
인쇄
(
Dict
)
Dict
[
`Dict1`
<코드 클래스 ="일반 ">] <코드 클래스 ="키워드 "> = <코드 클래스 ="일반 "> {}
<코드 클래스 ="undefined spaces "> # 한 번에 하나씩 요소 추가
Dict <코드 클래스 = "일반"> [
<코드 클래스 = "문자열"> `Dict1` <코드 클래스 ="일반 ">] [ <코드 클래스 ="문자열 "> `나 나` ]
=
` 밥`
<코드 클래스 = "함수"> 사전 <코드 클래스 = "일반"> [ <코드 클래스 = "문자열"> `Dict1` <코드 클래스 = " 일반">] [ <코드 클래스 = "문자열"> `나이` <코드 클래스 ="일반 ">] <코드 클래스 ="키워드 "> = 21
인쇄
(
"Dict1 사전 추가 후"
)
인쇄
(
<코드 클래스 = "함수"> 사전 <코드 클래스 = "일반">)
<코드 클래스 = "comments "> # 전체 사전 추가
Dict
[
`Dict2`
<코드 클래스 ="pl ain ">] <코드 클래스 ="키워드"> =
<코드 클래스 = "함수"> 인쇄 <코드 클래스 = "일반"> ( "Dict1 사전 추가 후"
)
인쇄
(
Dict
)
종료:
초기 중첩 사전: - {} 사전 추가 후 Dict1 {`Dict1`: {` age`: 21, `name`:` Bob`}} 사전 추가 후 Dict1 {`Dict1`: {` age`: 21, `name`:` Bob`}, `Dict2`: {` age`: 25, `name` :` Cara`}}
중첩된 사전 요소에 액세스 ts
중첩 사전의 키 값에 액세스하려면 []
구문 인덱싱을 사용하십시오.
# 동일한 키를 가진 중첩 사전
Dict
=
<코드 클래스 = "일반"> { <코드 클래스 = "문자열"> `Dict1` <코드 클래스 ="일반 ">: { <코드 클래스 ="문자열 " >` 이름` <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `알리` <코드 클래스 ="일반 ">, < 코드 클래스 ="문자열 ">` 연령 ` <코드 클래스 ="일반 ">: <코드 클래스 ="문자열 ">` 19` <코드 클래스 = "일반"> },
<코드 클래스 = "문자열"> `Dict2` <코드 클래스 ="일반 ">: { <코드 클래스 = "문자열"> `이름` <코드 클래스 ="일반 ">: <코드 클래스 ="문자열 ">` 밥` <코드 클래스 = "일반">, <코드 클래스 = "문자열"> `나이` <코드 클래스 = "일반">: <코드 클래스 = "문자열"> `25`
# 키 '에 해당하는 값을 출력합니다. 이름 ' Dict1에서
인쇄
(
Dict <코드 클래스 = "일반"> [
<코드 클래스 = "문자열"> `Dict1` <코드 클래스 ="일반 ">] [ <코드 클래스 ="문자열 ">` name` ])
# age 키에 해당하는 값을 출력 Dict2에서
인쇄
(
Dict <코드 클래스 = "일반"> [
<코드 클래스 = "문자열"> `Dict2` <코드 클래스 ="일반 "> ] [ <코드 클래스 = "문자열 "> `나이` <코드 클래스 ="일반 ">])
종료:
Ali 25
중첩 사전에서 사전 삭제
중첩된 사전에서 사전을 삭제하는 것은 다음 중 하나를 사용하여 수행할 수 있습니다. del
키워드 또는 pop ()
기능 사용
Dict
<코드 클래스 = "키워드"> = <코드 클래스 = "일반"> { <코드 클래스 = "문자열"> `Dict1` <코드 클래스 ="일반 "> : { ` 이름 `
:
` 알리`
< 코드 클래스 = "일반">, <코드 클래스 = "문자열"> `나이` <코드 클래스 ="일반 ">: <코드 클래스 ="값 "> 19 < /코드> <코드 클래스 ="일반 ">},
<코드 클래스 = "문자열"> `Dict2` <코드 클래스 ="일반 ">: {< /코드> <코드 클래스 = "문자열"> `이름` <코드 클래스 ="일반 ">: <코드 클래스 ="문자열 ">` 밥` <코드 클래스 = "일반" >, <코드 클래스 = "문자열"> `나이` <코드 클래스 ="일반 ">: <코드 클래스 ="값 "> 21 }}
인쇄
(
<코드 클래스 = "문자열 ">" 초기 중첩 사전: - " )
인쇄
<코드 클래스 ="plain "> ( Dict
)
# del 키워드를 사용하여 사전 삭제
인쇄
(
" Dict2 삭제: - "
)
<코드 클래스 ="키워드 "> 델 <코드 클래스 ="기능 "> 사전 <코드 클래스 ="일반 "> [ <코드 클래스 ="문자열 ">` 사전 2` ]
인쇄
(
사전
)
# pop 함수를 사용하여 사전 삭제
인쇄
(
"Dict1 삭제: -"
)
Dict
. 팝 (
`Dict1`
)
인쇄
(
사전
)
종료:
초기 중첩 사전: - {` Dict2`: {` name `:` Bob`, `age`: 21},` Dict1`: {`name`:` Ali`, `age`: 19}} Dict2 삭제: - {` Dict1`: {` name`:` Ali` , `age`: 19}} Dict1 삭제 중: - {}