이 글의 Python 버전은 3.7.X입니다. 이 글을 읽기 전에 Python 사전의 기본 사용법을 이해해야 합니다.
Introduction
사전(dict)은 다음에 내장된 데이터 구조입니다. Python. 여러 개의 키-값 쌍으로 구성됩니다. 키(key)와 값(value)은 콜론으로 구분됩니다. 각 키-값 쌍은 중괄호({)로 구분됩니다. }) 키는 고유해야 하며 값은 모든 유형이 될 수 있지만 키는 문자열, 숫자 또는 튜플과 같은 변경할 수 없는 유형이어야 합니다.
권장: "python tutorial"
하단 레이어는 해시 테이블을 사용하여 키와 값을 연결하며 dict는 순서가 없습니다. 기능은 다음과 같습니다:
● 검색 및 삽입 속도가 매우 빠르며 키 수가 증가해도 느려지지 않습니다.
● 더 많은 메모리가 필요합니다
# 🎜🎜#그래서 dict는 공간과 시간을 교환하는 데이터 구조로, 빠른 검색이 필요한 시나리오에 사용됩니다. 작업: 일반 메서드get()
특정 키의 값을 반환합니다. 존재하지 않는 경우 오류 보고 없이 기본값(기본값은 None)을 반환합니다. 구문은 dict.get(key)입니다.dict_1['age'] = 24 In [7]: print(dict_1.get('age')) 24 In [11]: print(dict_1.get('nama')) None In [12]: print(dict_1['nama']) --------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-12-ef61a380920e> in <module> ----> 1 print(dict_1['nama']) KeyError: 'nama'
key in dict
in 연산자를 사용하여 키가 사전에 존재하는지 확인합니다. 키가 있으면 True를 반환합니다. 그렇지 않으면 False를 반환합니다. 구문은 다음과 같습니다. key in dict.In [15]: dict_1 Out[15]: {'name': None, 'age': 24, 'sex': None} In [16]: print('name' in dict_1) True In [17]: print('nama' in dict_1) FalsePython 2에서 이 함수는 has_key() 메서드를 사용하여 구현됩니다.
items()
목록 형식의 탐색 가능한(키, 값) 튜플 배열을 반환하며 구문은 dict.items() 입니다.In [18]: dict_1 Out[18]: {'name': None, 'age': 24, 'sex': None} In [19]: print(dict_1.items()) dict_items([('name', None), ('age', 24), ('sex', None)]) In [20]: for key, value in dict_1.items(): ...: print(key, value) ...: name None age 24 sex None
keys()
사전의 모든 키를 목록으로 반환: dict.keys()In [21]: dict_1 Out[21]: {'name': None, 'age': 24, 'sex': None} In [22]: print(dict_1.keys()) dict_keys(['name', 'age', 'sex'])#🎜 🎜 #values()
사전의 모든 값을 목록으로 반환: dict.values()
In [27]: dict_1 Out[27]: {'name': None, 'age': 24, 'sex': None, 'sub_name': 'Tony'} In [28]: print(dict_1.values()) dict_values([None, 24, None, 'Tony']) setdefault() 和get()类似,用户获得与给顶尖相关联的值,不同的是,该方法如果键不存在时会添加键并将值设为默认值,语法为:dict.setdefault(key, default=None)。 In [23]: dict_1 Out[23]: {'name': None, 'age': 24, 'sex': None} In [24]: print(dict_1.setdefault('name')) None In [25]: print(dict_1.setdefault('name', 'Tony')) None In [26]: print(dict_1.setdefault('sub_name', 'Tony')) Tony In [27]: dict_1 Out[27]: {'name': None, 'age': 24, 'sex': None, 'sub_name': 'Tony'}
#🎜🎜 #update( )
구문은 dict_1.update(dict_2)이며, 이는 dict_2의 키-값 쌍을 dict_1로 업데이트하는 데 사용됩니다. 덮어쓰게 됩니다.
In [31]: dict_1 Out[31]: {'name': None, 'age': 24, 'sex': None, 'sub_name': 'Tony'} In [32]: dict_2 Out[32]: {'name': 'Mary', 'age': 18, 'sex': None, 'sub_name': ''} In [33]: dict_1.update(dict_2) In [34]: dict_1 Out[34]: {'name': 'Mary', 'age': 18, 'sex': None, 'sub_name': ''}
clear()
사전의 모든 항목을 삭제합니다(dict.clear()). 예:
In [1]: dict_1 = dict(name="Tony", age=24) In [2]: dict_2 = dict_1 In [3]: print(dict_2) {'name': 'Tony', 'age': 24} In [4]: dict_2.clear() In [5]: dict_2 Out[5]: {} In [6]: dict_1 Out[6]: {}# 🎜🎜#copy()
원래 사전의 얕은 복사본, 동일한 키-값 쌍인 dict.copy()를 사용하여 새 사전을 반환합니다. 예: # 🎜🎜#
In [1]: dict_1 = dict(name='Tony', info=['boy', 24]) In [2]: dict_3 = dict_1.copy() In [3]: dict_3['name'] = "Ring" In [4]: dict_3['info'].remove('boy') In [5]: dict_3 Out[5]: {'name': 'Ring', 'info': [24]} In [6]: dict_1 Out[6]: {'name': 'Tony', 'info': [24]}fromkeys() 다음의 요소를 기반으로 새 사전 dict.fromkeys(seq[, value])를 만듭니다. 시퀀스 seq 사전의 키, value는 사전의 모든 키에 해당하는 초기 값입니다. 여기서 value는 선택적 매개변수이고 기본값은 None입니다. 데이터 초기화에 적합합니다. 예:
In [1]: info = ['name', 'age', 'sex'] In [2]: dict_1 = dict.fromkeys(info) In [3]: dict_1 Out[3]: {'name': None, 'age': None, 'sex': None}Common Operations
Merge Dictionary # 🎜🎜#네 가지 방법이 있습니다:
정상 처리
In [15]: dict_1 Out[15]: {'Tony': 24} In [16]: dict_2 Out[16]: {'ben': 18} In [17]: dict3 = dict() In [18]: for key, value in dict_1.items(): ...: dict_3[key] = value ...: In [19]: for key, value in dict_2.items(): ...: dict_3[key] = value ...: In [20]: dict_3 Out[20]: {'Tony': 24, 'ben': 18}update()
#🎜🎜 #
In [9]: dict_1 Out[9]: {'Tony': 24} In [10]: dict_2 Out[10]: {'ben': 18} In [12]: dict_3 = dict_1.copy() In [13]: dict_3.update(dict_2) In [14]: dict_3 Out[14]: {'Tony': 24, 'ben': 18}사전 dict(d1, **d2) 방법의 도움으로
In [33]: dict_1 Out[33]: {'Tony': 24} In [34]: dict_2 Out[34]: {'ben': 18} In [35]: dict_3 = dict(dict_1, **dict_2) In [36]: dict_3 Out[36]: {'Tony': 24, 'ben': 18}Advanced
# 🎜🎜#Dictionary derivation
은 하단 레이어가 C로 구현된다는 장점이 있어 훨씬 빠르게 사용하는 것이 좋습니다. .
사전 키 값 교환사전 이해를 사용하여 사전의 키 값을 쉽게 교환할 수 있습니다.
In [42]: dict_4 Out[42]: {24: 'Tony', 18: 'ben'} In [43]: dict_3 Out[43]: {'Tony': 24, 'ben': 18} In [44]: dict_4 = {k:v for v, k in dict_3.items()} In [45]: dict_4 Out[45]: {24: 'Tony', 18: 'ben'}# 🎜🎜#
사전에서 하위 집합 추출
그 자체가 다른 사전의 하위 집합인 사전을 만들고 싶습니다.
예:In [88]: a = {'Ben': 18, 'Jack': 12, 'Ring': 23, 'Tony': 24} In [89]: b = {k:v for k, v in a.items() if v > 18} In [90]: b Out[90]: {'Ring': 23, 'Tony': 24}
순서가 지정된 사전 생성
Python3.6 이전의 사전은 순서가 없습니다. 그러나 때때로 우리는 사전의 질서를 유지해야 합니다. orderDict는 dict를 기반으로 사전의 질서를 달성할 수 있습니다. 여기서 순서는 사전 키가 삽입된 순서대로 배열하는 것을 의미합니다. -in, first-out dict. 용량이 한도를 초과하면 가장 먼저 추가된 키가 먼저 삭제됩니다. 예:In [49]: from collections import OrderedDict In [50]: ordered_dict = OrderedDict([('a', 2), ('b', 4), ('c', 5)]) In [51]: for key, value in ordered_dict.items(): ...: print(key, value) ...: a 2 b 4 c 5사전 생성 시 OrderedDict가 삽입 순서에 따라 정렬되는 것을 확인할 수 있습니다.
Principle: OrderedDict는 요소가 추가되는 순서에 따라 키 위치를 정렬하는 양방향 연결 목록을 내부적으로 유지 관리합니다. 이로 인해 OrderedDict의 크기도 2배 이상 커집니다. 평범한 사전.
목록에서 동일한 키를 가진 사전 병합
이는 소위 단일 키 다중 값 사전을 생성하는 것이며, 해당하는 여러 값을 저장해야 합니다. 목록이나 집합과 같은 다른 컨테이너에서는 여러 값이 고유해야 하는지 여부에 따라 다릅니다. 예:In [64]: from collections import defaultdict In [65]: a = [{'a': 1}, {'b': 3}, {'c': 4}, {'a':5}, {'b':2}, {'b': 4}] In [66]: b = defaultdict(list) In [67]: [b[k].append(v) for item in a for k, v in item.items()] Out[67]: [None, None, None, None, None, None] In [68]: b Out[68]: defaultdict(list, {'a': [1, 5], 'b': [3, 2, 4], 'c': [4]}) In [69]: b['a'] Out[69]: [1, 5]
두 사전 간의 유사점과 차이점 찾기
시나리오: 유사점과 차이점 찾기 두 사전 사이의 유사점과 차이점(동일한 키 또는 동일한 값 포함). 분석: 사전은 일련의 키 값 간의 매핑 모음입니다. keys()는 사전의 모든 키를 반환합니다. 사전의 키는 집합 연산을 지원하므로 집합의 교집합과 보수를 사용하여 사전의 키를 처리할 수 있습니다.items()는 (키, 값)으로 구성된 객체를 반환합니다. ) 및 집합 연산을 지원합니다. values()는 모든 값이 고유하다는 보장이 없기 때문에 집합 연산을 지원하지 않지만 연산을 판단해야 하는 경우 먼저 값을 변환할 수 있습니다. 그것을 달성하기 위해 세트로.
예:
In [78]: a = {'a':1, 'b':2, 'c':3} In [79]: b = {'b':3, 'c':3, 'd':4} In [80]: a.keys() & b.keys() Out[80]: {'b', 'c'} In [81]: a.keys() - b.keys() Out[81]: {'a'} In [82]: a.items() & b.items() Out[82]: {('c', 3)}
또 다른 예는 사전을 생성할 때 특정 키가 제거될 수 있다고 예상됩니다.
In [85]: a Out[85]: {'a': 1, 'b': 2, 'c': 3} In [86]: c = {k: a[key] for k in a.keys() - {'b'}} In [87]: c Out[87]: {'a': 3, 'c': 3}
이 문서의 출처는 다음과 같습니다. #🎜 🎜#python tutorial
칼럼, 학습에 오신 것을 환영합니다!위 내용은 당신이 알아야 할 Python 사전의 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python是一种解释型的、面向对象的、高级的编程语言,具有动态语义。由GudioVanRossum于1991年开发。它支持多种编程范式,包括结构化、面向对象和函数式编程。在深入讨论这个主题之前,让我们先复习一下与我们提供的问题相关的基本概念。字典是一组独特、可变且有序的项。在字典的书写中使用花括号,并且它们包含键和值:键名可以用来引用字典对象。数据值以键:值对的形式保存在字典中。有序和无序含义当我们说字典是有序的时,我们是指其内容具有一定的顺序,不会改变。无序的项目缺乏明确的顺序,因此无法使用

Python中的字典是一种灵活而强大的数据结构,它可以存储键值对,并且具备快速的查找和插入功能。然而,如果不小心处理字典的键值对,可能会遇到空字典键的问题。这个问题通常会导致代码崩溃或输出非预期结果。本文将介绍两种解决Python空字典键错误的方法。方法一:使用if语句防止空字典键Python的字典中不能有重复键,否则会覆盖之前的键值对。当一个字典键的值为空

字典是Python强大的数据类型。它由键值对组成。通过这种数据类型可以有效地完成搜索、追加等操作。虽然访问字典中的值很简单,但在某些情况下您可能需要在字典中查找下一个键。Python提供了多种方法来实现此目的,具体取决于您的具体要求。在本文中,我们将探索在Python中获取字典中下一个键的不同方法。使用keys和index方法字典在Python中是无序集合。因此,我们首先需要将键转换为某种有序形式。我们可以先将所有键以列表的形式追加。接下来,我们可以通过索引列表来找到下一个键。借助键,我们还可以

C++在同名的字典方面与Python不同,但它具有相似功能的相同数据结构。C++支持映射,可在STL类std::map中使用。映射对象在每个条目中包含一对值,一个是键值,另一个是映射值。键值用于在映射中搜索和唯一标识条目。而映射值不一定是唯一的,键值在映射中必须始终是唯一的。让我们看一下如何使用映射。首先,让我们看看如何在C++中定义一个映射数据结构。语法#includemap<data_type1,data_type2>myMap;让我们举个例子,看看如何做到这一点−示例#incl

Python函数介绍:isinstance函数的用法和示例Python是一门功能强大的编程语言,提供了许多内置函数,使得编程变得更加方便和高效。其中一个非常有用的内置函数是isinstance()函数。本文将介绍isinstance函数的用法和示例,并提供具体的代码示例。isinstance()函数用于判断一个对象是否是指定的类或类型的实例。该函数的语法如下

Python函数介绍:abs函数的用法和示例一、abs函数的用法介绍在Python中,abs函数是一个内置函数,用于计算给定数值的绝对值。它可以接受一个数字参数,并返回该数字的绝对值。abs函数的基本语法如下:abs(x)其中,x是要计算绝对值的数值参数,可以是整数或浮点数。二、abs函数的示例下面我们将通过一些具体的示例来展示abs函数的用法:示例1:计算

字典被称为集合数据类型。它们以键值对的形式存储数据。它们是有序的且可变的,即它们遵循特定的顺序并被索引。我们可以更改键的值,因此它是可操纵的或可更改的。字典不支持数据重复。每个键可以有多个与其关联的值,但单个值不能有多个键。我们可以使用字典来执行许多操作。整个机制取决于存储的值。在本文中,我们将讨论可用于从字典中删除“空值”的技术。在开始主要操作之前,我们必须对字典中的值处理有一个深入的了解。让我们快速浏览一下本文的概述。本文分为两部分-第1st部分将重点介绍“空值”的概念及其意义。在第2nd部

Python函数介绍:getattr函数的用法和示例在Python中,getattr()是一个内置函数,用于获取对象的属性值。在不知道对象的属性名称的情况下,可以使用getattr()函数来动态地访问属性。本文将介绍getattr()函数的语法、用法和示例。getattr()函数的语法如下:getattr(object,name[,default])参数


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
