산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

파이썬 사전

파이썬 사전

이 자습서에서는 Python 사전에 대한 모든 것을 배웁니다. 생성 방법, 액세스, 추가, 요소 및 다양한 내장 메소드 제거.

동영상:키/값 쌍을 저장하는 Python 사전

Python 사전은 정렬되지 않은 항목 모음입니다. 사전의 각 항목에는 key/value이 있습니다. 쌍.

사전은 키를 알고 있을 때 값을 검색하도록 최적화되어 있습니다.

<시간>

파이썬 사전 만들기

사전을 만드는 것은 중괄호 {} 안에 항목을 배치하는 것만큼 간단합니다. 쉼표로 구분합니다.

항목에 key이 있습니다. 및 해당 value 쌍으로 표현됩니다(키:값 ).

값은 모든 데이터 유형이 될 수 있고 반복될 수 있지만 키는 변경할 수 없는 유형(문자열, 숫자 또는 변경할 수 없는 요소가 있는 튜플)이어야 하고 고유해야 합니다.

# empty dictionary
my_dict = {}

# dictionary with integer keys
my_dict = {1: 'apple', 2: 'ball'}

# dictionary with mixed keys
my_dict = {'name': 'John', 1: [2, 4, 3]}

# using dict()
my_dict = dict({1:'apple', 2:'ball'})

# from sequence having each item as a pair
my_dict = dict([(1,'apple'), (2,'ball')])

위에서 볼 수 있듯이 내장 dict()을 사용하여 사전을 만들 수도 있습니다. 기능.

<시간>

사전에서 요소 액세스

인덱싱은 값에 액세스하기 위해 다른 데이터 유형과 함께 사용되지만 사전은 keys를 사용합니다. . 키는 대괄호 [] 안에 사용할 수 있습니다. 또는 get() 방법.

대괄호 []를 사용하는 경우 , KeyError 사전에서 키를 찾을 수 없는 경우 발생합니다. 반면에 get() 메소드는 None를 반환합니다. 키를 찾을 수 없는 경우.

# get vs [] for retrieving elements
my_dict = {'name': 'Jack', 'age': 26}

# Output: Jack
print(my_dict['name'])

# Output: 26
print(my_dict.get('age'))

# Trying to access keys which doesn't exist throws error
# Output None
print(my_dict.get('address'))

# KeyError
print(my_dict['address'])

출력

Jack
26
None
Traceback (most recent call last):
  File "<string>", line 15, in <module>
    print(my_dict['address'])
KeyError: 'address'
<시간>

사전 요소 변경 및 추가

사전은 변경 가능합니다. 할당 연산자를 사용하여 새 항목을 추가하거나 기존 항목의 값을 변경할 수 있습니다.

키가 이미 있는 경우 기존 값이 업데이트됩니다. 키가 없는 경우 새(키:값 ) 쌍이 사전에 추가됩니다.

# Changing and adding Dictionary Elements
my_dict = {'name': 'Jack', 'age': 26}

# update value
my_dict['age'] = 27

#Output: {'age': 27, 'name': 'Jack'}
print(my_dict)

# add item
my_dict['address'] = 'Downtown'

# Output: {'address': 'Downtown', 'age': 27, 'name': 'Jack'}
print(my_dict)

출력

{'name': 'Jack', 'age': 27}
{'name': 'Jack', 'age': 27, 'address': 'Downtown'}
<시간>

사전에서 요소 제거

pop()를 사용하여 사전의 특정 항목을 제거할 수 있습니다. 방법. 이 메소드는 제공된 key 항목을 제거합니다. value을 반환합니다. .

popitem() 메소드를 사용하여 임의의 (key, value)를 제거하고 반환할 수 있습니다. 사전에서 항목 쌍. clear()을 사용하여 모든 항목을 한 번에 제거할 수 있습니다. 방법.

del도 사용할 수 있습니다. 개별 항목 또는 전체 사전 자체를 제거하는 키워드입니다.

# Removing elements from a dictionary

# create a dictionary
squares = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

# remove a particular item, returns its value
# Output: 16
print(squares.pop(4))

# Output: {1: 1, 2: 4, 3: 9, 5: 25}
print(squares)

# remove an arbitrary item, return (key,value)
# Output: (5, 25)
print(squares.popitem())

# Output: {1: 1, 2: 4, 3: 9}
print(squares)

# remove all items
squares.clear()

# Output: {}
print(squares)

# delete the dictionary itself
del squares

# Throws Error
print(squares)

출력

16
{1: 1, 2: 4, 3: 9, 5: 25}
(5, 25)
{1: 1, 2: 4, 3: 9}
{}
Traceback (most recent call last):
  File "<string>", line 30, in <module>
    print(squares)
NameError: name 'squares' is not defined
<시간>

파이썬 사전 방법

사전과 함께 사용할 수 있는 방법은 아래 표에 나와 있습니다. 그 중 일부는 이미 위의 예에서 사용되었습니다.

메소드 설명
지우기() 사전에서 모든 항목을 제거합니다.
복사() 사전의 얕은 사본을 반환합니다.
fromkeys(seq[, v]) seq의 키를 사용하여 새 사전을 반환합니다. v와 같은 값 (기본값은 None입니다. ).
get(키[,d]) 의 값을 반환합니다. . 존재하지 않으면 d를 반환합니다. (기본값은 None입니다. ).
항목() 사전 항목의 새 개체를 (키, 값) 형식으로 반환합니다.
키() 사전 키의 새 개체를 반환합니다.
팝(키[,d]) 가 있는 항목을 제거합니다. 값 또는 d를 반환합니다. 인 경우 찾을 수 없습니다. d인 경우 제공되지 않으며 key 찾을 수 없으면 KeyError가 발생합니다. .
팝아이템() 임의의 항목(키, 값)을 제거하고 반환합니다. ). KeyError 증가 사전이 비어 있는 경우.
기본값 설정(키[,d]) 인 경우 해당 값을 반환합니다. 사전에 있습니다. 그렇지 않은 경우 key를 삽입합니다. d 값으로 d를 반환합니다. (기본값은 None입니다. ).
업데이트([기타]) other의 키/값 쌍으로 사전을 업데이트합니다. , 기존 키를 덮어씁니다.
값() 사전 값의 새 개체를 반환합니다.

다음은 이러한 방법의 몇 가지 사용 사례입니다.

# Dictionary Methods
marks = {}.fromkeys(['Math', 'English', 'Science'], 0)

# Output: {'English': 0, 'Math': 0, 'Science': 0}
print(marks)

for item in marks.items():
    print(item)

# Output: ['English', 'Math', 'Science']
print(list(sorted(marks.keys())))

출력

{'Math': 0, 'English': 0, 'Science': 0}
('Math', 0)
('English', 0)
('Science', 0)
['English', 'Math', 'Science']
<시간>

파이썬 사전 이해

사전 이해는 Python의 iterable에서 새 사전을 만드는 우아하고 간결한 방법입니다.

사전 이해는 표현식 쌍(키:값 ) 다음에 for 중괄호 {} 안의 문 .

다음은 각 항목이 숫자와 사각형의 쌍인 사전을 만드는 예입니다.

# Dictionary Comprehension
squares = {x: x*x for x in range(6)}

print(squares)

출력

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

이 코드는

와 동일합니다.
squares = {}
for x in range(6):
    squares[x] = x*x
print(squares)

출력

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

사전 이해는 선택적으로 더 많은 for 또는 if 문을 포함할 수 있습니다.

선택적 if 문은 항목을 필터링하여 새 사전을 구성할 수 있습니다.

다음은 이상한 항목으로만 사전을 만드는 몇 가지 예입니다.

# Dictionary Comprehension with if conditional
odd_squares = {x: x*x for x in range(11) if x % 2 == 1}

print(odd_squares)

출력

{1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

사전 이해에 대해 자세히 알아보려면 Python 사전 이해를 방문하십시오.

<시간>

기타 사전 작업

사전 회원 자격 테스트

key 사전에 있거나 in 키워드를 사용하지 않습니다. . 멤버십 테스트는 keys에만 해당됩니다. values이 아니라 .

# Membership Test for Dictionary Keys
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

# Output: True
print(1 in squares)

# Output: True
print(2 not in squares)

# membership tests for key only not value
# Output: False
print(49 in squares)

출력

True
True
False

사전을 통한 반복

for를 사용하여 사전의 각 키를 반복할 수 있습니다. 루프.

# Iterating through a Dictionary
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
for i in squares:
    print(squares[i])

출력

1
9
25
49
81
<시간>

사전 내장 함수

all()과 같은 내장 함수 , any() , len() , cmp() , sorted() 등은 일반적으로 사전과 함께 다양한 작업을 수행하는 데 사용됩니다.

함수 설명
모두() 반환 True 사전의 모든 키가 True인 경우(또는 사전이 비어 있는 경우)
모든() 반환 True 사전의 키 중 하나라도 true인 경우. 사전이 비어 있으면 False을 반환합니다. .
len() 사전의 길이(항목 수)를 반환합니다.
cmp() 두 사전의 항목을 비교합니다. (파이썬 3에서는 사용할 수 없음)
정렬() 사전에서 새로운 정렬된 키 목록을 반환합니다.

다음은 내장 함수를 사용하여 사전을 사용하는 몇 가지 예입니다.

# Dictionary Built-in Functions
squares = {0: 0, 1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

# Output: False
print(all(squares))

# Output: True
print(any(squares))

# Output: 6
print(len(squares))

# Output: [0, 1, 3, 5, 7, 9]
print(sorted(squares))

출력

False
True
6
[0, 1, 3, 5, 7, 9]

python

  1. 파이썬 데이터 유형
  2. 파이썬 연산자
  3. 파이썬 통과 문
  4. 파이썬 함수 인수
  5. 파이썬 반복자
  6. 파이썬 클로저
  7. 파이썬 날짜 시간
  8. 파이썬 - 개요
  9. 파이썬 - 숫자
  10. 파이썬 - 문자열