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 / 객체(Object)와 변수(Variable)

Python / 객체(Object)와 변수(Variable)

객체(Object), 변수(Variable), 변수명(Variable Name) 메모리에 저장된 자료를 객체(object)라고 한다. 객체를 저장한 공간을 변수(Variable), 변수의 이름을 변수명(Variable Name)이라고 한다. 변수에 객체를 넣을 때 등호 '='을 이용한다. 등호 왼쪽에는 변수명, 등호 오른쪽에는 객체를 적는다. 예를 들어 다음은 객체 100을 x라는 이름의 변수에 저장하겠다는 뜻이다. x = 100 변수명은 다음의 규칙을 지켜야 한다. 규칙에 맞지 않으면 에러가 난다. 키워드를 ...

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 ...

Python / 설치 / 윈도우에 설치하기

Python / 설치 / 윈도우에 설치하기

Windows를 OS로 하는 컴퓨터에 Python을 설치하는 방법이다. 다운로드 및 설치 Python 다운로드 페이지에서 윈도우용 Python을 다운로드 한다. 다운로드한 파일을 실행한다. 기본 설정 그대로 설치해도 되는데, 는 체크하는 게 좋다. 를 클릭하면 바로 설치가 시작된다. 설정을 변경하고 싶다면 을 클릭한다. 적절히 설정하고 를 클릭하고... 적절히 설정 후 을 클릭하면... 설치가 완료된다. 테스트 IDLE을 실행한다. 다음과 같은 창에서... print( "Hello World" ...

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

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

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

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 / 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 / 자료형 / 숫자

Python / 자료형 / 숫자

숫자 자료 만들기 숫자 자료는 따옴표 없이 숫자만 넣어서 만든다. 소숫점이 없으면 정수형 자료, 소숫점이 있으면 실수형 자료가 만들어진다. 정수형 자료의 타입은 int, >>> a = 100 >>> print( type( a ) ) <class 'int'> 실수형 자료의 타입은 float이다. >>> a = 100.1 >>> print( type( a ) ) <class 'float'> 숫자 연산자 사칙 연산 +는 더하고, -는 빼고, *는 곱하고, /는 ...

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

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

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

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를 ...