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
파이썬 strptime() 이 기사에서는 문자열에서 datetime 객체를 만드는 방법을 배웁니다(예제를 통해). 동영상:Python의 날짜 및 시간 strptime() 메소드는 주어진 문자열에서 datetime 객체를 생성합니다. 참고: datetime을(를) 만들 수 없습니다. 모든 문자열의 개체. 문자열은 특정 형식이어야 합니다. 예시 1:문자열을 datetime 개체로 from datetime import datetime date_string = 21 June, 2018 print(date_string =,
놓치신 경우:Python 2는 2020년 1월 1일부로 공식적으로 지원되지 않음 . 아직 Python 2.7을 사용 중이라면 지금 업그레이드하세요. . 실행 중인 버전이 확실하지 않은 경우 Python 버전을 확인하세요. 많은 패키지 유지 관리자가 Python 3으로 마이그레이션했습니다. 일부는 여전히 Python 2를 지원하고 다른 일부는 이미 Python 2 지원을 중단했습니다. Python 2 코드 기반에서 마이그레이션해야 하는 경우 Python 코드를 Python 3으로 마이그레이션하는 방법에 대한 가이드를 읽어보세요.