Python / 자료형 / 사전(dict)

사전(dict)

사전은 집합의 일종으로, 키와 값이 하나의 데이터를 만듭니다. 순서가 없고 중복된 데이터를 갖지 않아서, 중복 데이터를 만드는 +, *를 사용할 수 없지만, 키를 이용하여 인덱스기호([])를 사용할 수 있습니다.

사전 만들기

사전은 집합과 마찬가지로 중괄호로 만듭니다. 키를 앞에, 값을 뒤에 쓰고, 구분은 콜론(:)으로 합니다. 데이터의 구분은 쉼표(,)로 합니다.

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> jb
{1: 'one', 2: 'two', 3: 'three'}
>>> type(jb)
<class 'dict'>

리스트, 집합, 사전은 키가 될 수 없습니다. 값은 모든 자료형이 가능합니다.

빈 사전 만들기

>>> jb = {}
>>> type(jb)
<class 'dict'>

사전의 길이 구하기

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> len(jb)
3

키가 있는지 확인하기

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> 1 in jb
True
>>> 5 in jb
False

키가 없는지 확인하기

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> 1 not in jb
False
>>> 5 not in jb
True

아이템 추가하기

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> jb[4] = "four"
>>> jb
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}

아이템 수정하기

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> jb[1] = "hana"
>>> jb
{1: 'hana', 2: 'two', 3: 'three'}

아이템 삭제하기

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> del jb[2]
>>> jb
{1: 'one', 3: 'three'}

아이템 모두 지우기

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> jb.clear()
>>> jb
{}

아이템 출력하기

.items()는 모든 아이템을, .keys()는 모든 키를, .values()는 모든 값을 반환합니다.

>>> jb = {1:"one", 2:"two", 3:"three"}
>>> jb.items()
dict_items([(1, 'one'), (2, 'two'), (3, 'three')])
>>> jb.keys()
dict_keys([1, 2, 3])
>>> jb.values()
dict_values(['one', 'two', 'three'])

사전에 사전 추가하기

.update()로 사전에 사전을 추가할 수 있습니다.

>>> jb1 = {1:"one", 2:"two", 3:"three"}
>>> jb2 = {4:"four", 5:"five", 6:"six"}
>>> jb1.update(jb2)
>>> jb1
{1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five', 6: 'six'}
같은 카테고리의 다른 글
Python / 조건문 / if

Python / 조건문 / if

if if 구문을 이용하면, 특정 조건을 만족할 때 특정 작업이 수행되도록 할 수 있습니다. 조건을 만족하는 동안 반복 작업을 하고 싶다면 while을 사용하세요. 문법 1 조건이 참이라면 코드를 실행합니다. if condition: statement 1은 0보다 크므로 HM을 출력합니다. if 1 > 0: print("HM") 조건이 거짓이므로 HM을 출력하지 않습니다. 즉, 아무런 작업을 하지 ...

Python / input() / 사용자가 입력한 값을 변수에 저장하는 함수

Python / input() / 사용자가 입력한 값을 변수에 저장하는 함수

input() 함수로 사용자가 어떤 값을 입력하게 하고, 그 값을 변수에 저장할 수 있습니다. 문법 예를 들어 다음을 입력하고 엔터를 누르면 사용자가 값을 입력하기를 기다립니다. >>> x = input() 값을 입력하고 엔터를 누르면 그 값이 변수 x에 저장됩니다. >>> x = input() hello >>> x 'hello' 입력할 값에 대한 안내를 출력하고 싶다면 다음과 같이 합니다. >>> x = input('some text') 작은 따옴표 ...

Python / 모듈(module) 사용하기

Python / 모듈(module) 사용하기

모듈 가져오고 사용하기 import로 모듈을 가져옵니다. 예를 들어 math 모듈을 가져오고 싶다면 >>> import math 모듈에 포함된 함수 등 목록을 보고 싶다면 dir() 함수를 이용합니다. >>> dir(math) ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', ...

Python / range() / 연속된 수 또는 일정 간격의 연속된 수를 만드는 함수

Python / range() / 연속된 수 또는 일정 간격의 연속된 수를 만드는 함수

range() range() 함수는 연속된 수 또는 일정 간격의 연속된 수를 만드는 함수입니다. for 반복문에 자주 사용됩니다. 문법 range(stop) 0부터 시작하여 stop보다 하나 작은 수까지 만듭니다. range(start, stop) start부터 시작하여 stop보다 하나 작은 수까지 만듭니다. range(start, stop, step) start부터 시작하여 stop보다 하나 작은 수까지 step 간격으로 수를 만듭니다. 예제 1 0부터 3까지의 수를 만듭니다. >>> list(range(4)) 1부터 10까지의 수를 만듭니다. >>> ...

Python / Visual Studio Code 개발 환경 만들기

Python / Visual Studio Code 개발 환경 만들기

파이썬 개발을 위한 도구는 여러 가지가 있습니다. Visual Studio Code도 그 중 하나입니다. VS Code에 Python 확장 기능을 설치하고, Hello World를 출력해보겠습니다. 확장 기능 설치 Visual Studio Code를 설치하고 실행합니다. 사각형 모양의 확장 기능 아이콘을 클릭합니다. python으로 검색한 후, 다운로드 수가 가장 많은 Microsoft가 만든 Python을 설치합니다. Reload Required를 클릭합니다.(VS Code 버전에 따라 나오지 않을 ...

Python / dir() / 객체의 메소드 등을 반환하는 함수

Python / dir() / 객체의 메소드 등을 반환하는 함수

예제 1 a = "Hello" print( dir( a ) ) ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', ...

Python / 문법 / 주석

Python / 문법 / 주석

주석에는 한 줄 주석과 여러 줄 주석이 있습니다. 한 줄 주석은 #을 사용합니다. # 뒤의 문자열이 주석이 됩니다. # 한 줄 주석 print( "Hello" ) # Hello 출력 여러 줄 주석은 작은 따옴표 세 개('''), 또는 큰 따옴표 세 개(""")를 사용합니다. 혼용할 수는 없습니다. ''' print( "Hello" ) print( "World" ) ''' print( "Hello" ) print( "World" ) """ print( "Hello" ) print( "World" ...

Python / 자료형 / 문자열(string)

Python / 자료형 / 문자열(string)

문자열 자료 만들기 문자열(string) 자료는 큰 따옴표 또는 작은 따옴표로 감싸서 만든다. >>> str_a = "Hello" >>> print( str_a ) Hello >>> str_a = 'Hello' >>> print( str_a ) Hello 숫자여도 따옴표로 감싸면 문자열이 된다. >>> str_a = "123" >>> type( str_a ) <class 'str'> 문자열에 따옴표 포함하기 문자열에 작은 따옴표를 포함하고 싶다면 큰 따옴표로 감싸고... >>> str_a = "'Hello'" >>> print( str_a ) 'Hello' 큰 따옴표를 ...

Python / PyCharm 설치하는 방법

Python / PyCharm 설치하는 방법

PyCharm는 Python 개발 도구 중의 하나입니다. JetBrains에서 만든 것으로, 모든 기능이 있는 프로페셔널 에디션과, 기능의 제한이 있지만 무료로 사용할 수 있는 커뮤니티 에디션이 있습니다. 아래는 OS가 Windows인 컴퓨터에 PyCharm 커뮤니티 에디션을 다운로드하고 설치하는 방법입니다. 참고로, Python이 설치되어 있지 않아도 괜찮습니다. PyCharm에서 프로젝트를 만들 때 자동으로 Python을 다운로드 합니다. PyCharm 페이지에서 를 클릭합니다. Community ...

Python / len() / 문자열의 길이 반환하는 함수

Python / len() / 문자열의 길이 반환하는 함수

len()은 문자열의 길이 반환하는 함수이다. 간단한 예는 다음과 같다. len( "abc" ) # 3 반환 정수나 실수 등은 문자열이 아니므로 에러가 난다. 문자열로 변환한 후 센다. len( str( 1234 ) ) # 4 반환 한글도 1로, 공백도 1로 센다. len( "한글과 공백" ) # 6 반환 리스트나 튜플 등에서는 그 안에 속한 값의 ...