반응형

< 튜플(Tuples) >

 

튜플은 리스트 처럼 요소들을 저장합니다. 다른점은 리스트는 [ ]사이에 요소들을 추가하지만 튜플은 ( ) 사이에 요소들을 추가합니다. 그리고 리스트는 요소들을 생성, 삭제, 수정이 가능하지만 튜플은 요소들을 바꿀 수 없습니다. 다음 스크립트는 튜플을 생성하는 방법을 보여줍니다. tp2처럼 한 개의 요소를 가질 때는 반드시 요소 뒤에 콤마를 붙여야 합니다. 그리고 tp4처럼 괄호를 생략해도 됩니다.

 

tp1 = ()

tp2 = (1, )

tp3 = (2, 3, 5)

tp4 = 2, 3, 5

tp5 = ('tuple1', 'tuple2', ('tuple3', 'tuple4'))

 

튜플의 요소를 수정하려고 하면 다음과 같은 오류 메시지가 출력됩니다.

 

tuple_ex = ("James", 15, "Male", True)

tuple_ex[1] 20

 

Output:

TypeError                                 Traceback (most recent call last)
<ipython-input-5-c7fa50c023f7> in <module>()
        1 tuple_ex = ("James", 15, "Male", True)
----> 2 tuple_ex[1] = 20

TypeError: 'tuple' object does not support item assignment

 

 

다음 스크립트는 튜플의 요소들을 숫자, 문자 그리고 Boolean 타입을 사용하였습니다. 그리고 tuple_ex의 타입을 출력해 보았습니다.

tuple_ex = ("James", 15, "Male", True)

print(tuple_ex)

print(type(tuple_ex))

 

Output:

('James', 15, 'Male', True)

<class 'tuple'>

 

튜플 인덱싱과 슬라이싱

 

튜플 인덱싱도 첫번째 요소가 0으로 시작하고 꼼마를 기준으로 카운트를 증가하면 됩니다. 그리고 인덱싱이 -1이면 요소들 중에 마지막 값을 나타냅니다.

튜플 슬라이싱은 요소들 중에 일정 범위만을 확인하고자 할 때 시작 인덱싱부터 끝 인덱싱을 지정하면 됩니다. 이때 끝 인덱싱 앞에까지 슬라이싱되고 끝 인덱싱은 포함되지 않습니다.

 

tuple_ex = ("James", 15, "Male", True)

print(tuple_ex[0])

print(tuple_ex[1:3])

print(tuple_ex[-1])

print(tuple_ex[0: ])

 

Output:

James

(15, 'Male')

True

('James', 15, 'Male', True)

 

튜플의 요소수 구하기(len)

튜플의 요오수를 구하기 위해서 len()함수를 사용하면 됩니다.

tuple_ex ("James", 15, "Male", True)

print(len(tuple_ex))

 

Output:

4

 

< 딕셔너리(Dictionaries) >

 

딕셔너리는 키(key)와 값(value)의 쌍으로 구성되어 있습니다. key는 변하지 않는 값을 사용하고 value는 변하지 않는 값도 사용 가능합니다.

key는 스트링, 정수, 실수 타입이 가능하고 value는 스트링, 정수, 실수, 리스트, 튜플 타입을 사용할 수 있습니다.

아무개의 속성을 나타낼 때 이름은 아무개이고 나이는 15, 성별은 남성이면 딕셔너리로 표현하면 다음과 같습니다.

dict_ex1 {'이름':'아무개', '나이':15, '성별':'남성'}

 

(key) (value)
이름 아무개
나이 15
성별 남성

 

key value의 쌍 여러 개가 중괄호 { } 사이에 들어가고 각각의 key value쌍들이 꼼마로 구분되어 집니다.

다음 스크립트는 딕셔너리의 사용 예를 보여주고 있습니다.

 

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성'}

dict_ex2 = {3:'three'}

dict_ex3 = {'colors':['Red', 'Green', 'Blue']}

 

딕셔너리 요소에 접근

딕셔너리는 리스트나 튜플처럼 인덱싱으로 접근하면 오류가 발생합니다. 딕셔너리 요소에 접근하기 위해선 key를 사용해야 합니다. 다음 스크립트는 인덱싱으로 접근했을 때 나타나는 오류를 보여주고 있습니다.

 

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성'}

dict_ex1[0]

 

Output:

KeyError                                  Traceback (most recent call last)
<ipython-input-16-6c29b25e182e> in <module>()
        1 dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성'}
----> 2 dict_ex1[0]

 

다음 스크립트는 key로 요소에 접근하는 방법을 보여주고 있습니다.

 

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성'}

dict_ex1['이름']

 

Output:

아무개

 

딕셔너리에 요소 추가하기 (딕셔너리[key] = value)

다음 스크립트는 딕셔너리에 keyvalue를 추가하는 방법을 보여주고 있습니다.

 

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성'}

dict_ex1['몸무게'] = 70

print(dict_ex1)

 

Output:

{'이름': '아무개', '나이': 15, '성별': '남성', '몸무게': 70}

 

 

딕셔너리 요소 삭제하기 (del 딕셔너리[key])

삭제하고자 하는 요소의 key를 입력하면 keyvalue쌍이 삭제됩니다.

 

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성', '몸무게':70}

del dict_ex1['몸무게']

print(dict_ex1)

 

Output:

{'이름': '아무개', '나이': 15, '성별': '남성'}

 

딕셔너리 요소 수정하기 (딕셔너리[key] = 수정하고자 하는 value)

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성', '몸무게':70}

dict_ex1['몸무게'] = 76

print(dict_ex1)

 

Output:

{'이름': '아무개', '나이': 15, '성별': '남성', '몸무게': 76}

 

딕셔너리에서 key만을 얻어오는 방법과 value만을 얻어오는 방법

keys()함수를 사용하면 전체 key를 얻어올 수 있습니다.

values()함수를 사용하면 전체 value를 얻어올 수 있습니다.

 

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성', '몸무게':70}

print(dict_ex1.keys())

print(dict_ex1.values())

 

Output:

dict_keys(['이름', '나이', '성별', '몸무게'])

dict_values(['아무개', 15, '남성', 70])

 

딕셔너리 key를 리스트로 변환하기 (list함수 사용)

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성', '몸무게':70}

list(dict_ex1.keys())

 

Output:

 ['이름', '나이', '성별', '몸무게']

 

딕셔너리 value를 리스트로 변환하기 (list함수 사용)

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성', '몸무게':70}

list(dict_ex1.values())

 

Output:

 ['아무개', 15, '남성', 70]

 

딕셔너리의 key와 value 쌍 얻기 (items함수 사용)

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성', '몸무게':70}

dict_ex1.items()

 

Output:

dict_items([('이름', '아무개'), ('나이', 15), ('성별', '남성'), ('몸무게', 70)])

 

딕셔너리의 key와 value 쌍 지우기 (clear함수 사용)

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성', '몸무게':70}

dict_ex1.clear()

 

딕셔너리의 key로 value값 얻기 (get함수 사용)

dict_ex1 = {'이름':'아무개', '나이':15, '성별':'남성', '몸무게':70}

dict_ex1.get('이름')

 

Output:

아무개'

 

(bool) 자료형

bool 자료형은 참과 거짓을 나타내는 자료형입니다. bool 자료형은 TrueFalse의 값을 갖습니다. 다음 스크립트는 bool 자료형을 선언하고 type함수를 이용하여 bool 변수의 타입을 확인한 예제입니다.

bool_ex1 = True

bool_ex2 = False

print(type(bool_ex1))

print(type(bool_ex2))

 

Output:

<class 'bool'>

<class 'bool'>

 

반응형

+ Recent posts