Python 사전 초기화
- 리터럴 구문을 사용하여 Python에서 사전 초기화
-
dict()
생성자를 사용하여 Python 사전 초기화 -
fromkeys()
메소드를 사용하여 Python 사전 초기화 - 튜플 목록을 사용하여 Python 사전 초기화
- 두 개의 목록을 사용하여 Python 사전 초기화
Python 사전은 순서가 지정되고 변경 가능합니다. 사전은 중복 저장을 허용하지 않습니다.
Python 3.6 이하 버전에서는 사전이 순서가 지정되지 않았습니다. Python 3.7 이상이 도입 된 후 사전이 정렬됩니다.
이 자습서에서는 Python에서 사전을 초기화하는 다양한 방법에 대해 설명합니다.
리터럴 구문을 사용하여 Python에서 사전 초기화
중괄호{}
를 사용하여 사전을 만들고 초기화 할 수 있으며 여기에는 키와 값이 포함됩니다.
다음 코드는 리터럴을 사용하여 Python 사전을 초기화합니다.
dict1 = {"X": 2, "Y": 3, "Z": 4}
print(dict1)
출력:
{'X': 2, 'Y': 3, 'Z': 4}
dict()
생성자를 사용하여 Python 사전 초기화
dict()
생성자는 키워드 인수, 단독 사전 및 해당 키워드 인수 또는 키-값 쌍의 단독 반복 가능에서 사전을 초기화하는 데 사용할 수 있습니다.
dict()
생성자에 매개 변수를 전달하고 사전을 만들 수 있습니다.
다음 코드는dict()
생성자를 사용하여 Python에서 사전을 초기화합니다.
dict1 = dict(X=1, Y=2, Z=3)
print(dict1)
출력:
{'X': 1, 'Y': 2, 'Z': 3}
fromkeys()
메소드를 사용하여 Python 사전 초기화
모든 키의 값이 같으면fromkeys()
함수를 사용할 수 있습니다.
다음 코드는fromkeys()
메소드를 사용하여 Python 사전을 초기화합니다.
dict1 = dict.fromkeys(["X", "Y", "Z"], 0)
print(dict1)
출력:
{'X': 0, 'Y': 0, 'Z': 0}
구문에 특정 값이 지정되지 않은 경우 사전은 모든 키의 값을None
으로 초기화 할 수 있습니다.
dict1 = dict.fromkeys(["X", "Y", "Z"])
print(dict1)
출력:
{'X': None, 'Y': None, 'Z': None}
튜플 목록을 사용하여 Python 사전 초기화
튜플 목록을 사용하여 Python에서 사전을 초기화 할 수도 있습니다. 이 메소드는 또한dict()
생성자를 사용하여이를 구현합니다.
튜플은 순서가 지정되고 변경할 수없는 개체 모음입니다. 단일 변수에 여러 항목을 저장하는 데 사용할 수 있습니다.
목록은 튜플과 비슷하지만 목록을 변경할 수 있다는 점만 다릅니다. 튜플은이를 허용하지 않습니다.
다음 코드는 튜플 목록을 사용하여 Python에서 사전을 초기화합니다.
LOT = [("X", 5), ("Y", 6), ("Z", 8)]
dict1 = dict(LOT)
print(dict1)
출력:
{'X': 5, 'Y': 6, 'Z': 8}
두 개의 목록을 사용하여 Python 사전 초기화
이 경우 첫 번째 목록의 값을 키로 사용하고 두 번째 목록을 초기화 할 사전의 값으로 사용하는 두 개의 목록을 선언합니다.
위의 명령문을 구현하기 위해 주어진 목록을 병렬로 반복하는zip()
함수를 사용할 수 있습니다.
zip()
함수는 모든 항목에 대한 키-값 쌍을 병렬로 생성하고 압축 된 객체를 성공적으로 생성 한 다음dict()
생성자에 전달하여 사전을 생성 할 수 있습니다.
다음 코드는 두 개의 목록을 사용하여 Python에서 사전을 초기화합니다.
if __name__ == "__main__":
L1 = ["X", "Y", "Z"]
L2 = [5, 6, 8]
dict1 = dict(zip(L1, L2))
print(dict1)
출력:
{'X': 5, 'Y': 6, 'Z': 8}
이 경우 L1은 키로 사용되는 목록이고 L2는 초기화 된 사전의 값 목록으로 사용됩니다.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn