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'}

Related Posts

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 / 반복문 / while

Python / 반복문 / while

while while은 주어진 조건이 참일 동안 작업을 반복하게 하는 구문입니다. 문법 while condition: statement condition : 작업을 하기 위한 조건입니다. 참일 동안 반복 작업을 합니다. statement : 반복할 작업입니다. 예제 i가 10보다 작으면 i을 출력합니다. 작업할 때마다 i는 1씩 커지고, i가 10이 되면 while문을 빠져나옵니다. i = 1 while i < 10: print(i, ...

Python / 조건문 / if

Python / 조건문 / if

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

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 / PIP(Python Package Index) 사용법

Python / PIP(Python Package Index) 사용법

Python Package Index Python Package Index는 파이썬 패키지들이 모여 있는 저장소입니다. The Python Package Index (PyPI) is a repository of software for the Python programming language. pip 명령어로 패키지를 로컬 머신에 설치하고 삭제하고 업데이트할 수 있습니다. PIP pip는 파이썬으로 작성된 패키지 소프트웨어를 관리하는 패키지 관리 시스템입니다. 파이썬 2.7.9 이후 버전과 파이썬 3.4 이후 버전은 pip를 ...

Python / 문법 / 주석

Python / 문법 / 주석

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

Python / print() / 출력하는 함수

Python / print() / 출력하는 함수

Python의 print() 함수 사용법을 정리합니다. 큰 따옴표를 이용하여 Hello를 출력합니다. print("Hello") Hello 작은 따옴표를 이용하여 Hello를 출력합니다. print('Hello') Hello 작은 따옴표를 출력하려면 큰 따옴표로 감쌉니다. print("'Hello'") 'Hello' 큰 따옴표를 출력하려면 작은 따옴표로 감쌉니다. print('"Hello"') "Hello" 쉼표로 연결할 수 있습니다. 공백이 생깁니다. print("Hello","JB") Hello JB print() 함수를 연달아 사용하면 다른 줄에 출력됩니다. print("Hello") print("JB") Hello JB 줄바꿈 없이 출력하려면 end를 사용합니다. print("Hello",end=" ") print("JB") Hello JB sep를 이용하여 출력 값 사이에 특정 문자를 넣을 수 있습니다. print("A","B","C","D",sep=" ...

Python / Package / flake8 - PEP(Python Enhance Proposal) 검증 패키지 사용법

Python / Package / flake8 - PEP(Python Enhance Proposal) 검증 패키지 사용법

Style Guide for Python Code 여러 명이 공동으로 파이썬 코딩을 할 때, 각자의 스타일이 다르면 문제가 생길 수 있습니다. 그래서 협업을 수월하게 할 수 있도록 몇 가지 규칙을 정놓았는데, 이를 PEP(Python Enhance Proposal)라고 합니다. 몇 가지 규칙을 나열해보면... Use 4 spaces per indentation level. : 들여쓰기는 4칸의 공백 Limit all lines to a ...

Python / Database / 연결하는 방법

Python / Database / 연결하는 방법

Python으로 Database에 연결하고 데이터를 조회해 봅니다. Microsoft SQL Server 패키지 설치하기 pymssql를 설치합니다. pip install pymssql 연결하고 데이터 조회하기 pymssql를 import합니다. import pymssql 연결 설정을 합니다. conn = pymssql.connect( server = 'server-ip', port = port-number, user = 'user-name', password = 'pasword', database = 'database-name' ) cursor를 ...

Python / str() / 자료형을 문자열로 변환하는 함수

Python / str() / 자료형을 문자열로 변환하는 함수

str()은 데이터 타입을 문자열로 변환하는 함수이다. >>> a = 1 >>> type( a ) <class 'int'> >>> print( a ) 1 >>> b = str( a ) >>> type( b ) <class 'str'> >>> print( b ) 1 >>> a = 1.23 >>> type( a ) <class 'float'> >>> print( a ) 1.23 >>> b = str( a ) >>> type( b ) <class 'str'> >>> print( b ) 1.23 Python ...