본문 바로가기

프로그래밍언어/Python

ch02. 파이썬 프로그래밍 자료형 (튜플형, 딕셔너리형, 집합형, 불리언형)

반응형

4. 튜플형

■ 튜플 (tuple)

- ( ) 로 둘러싸여있다.

- 리스트는 요소들의 생성, 삭세, 수정이 가능하지만 튜플은 불가능하다. (immutable)

- 값을 변경하려는 경우 에러 발생한다. (TypeError)

■ 튜플 다루기

t1 = ('a', 'b', 'c')

# indexing
print(t1[0])    # 'a'

# slicing
print(t1[1:])   # ('b', 'c')

# add
t2 = (1, 2, 3)
print(t1 + t2)  # ('a', 'b', 'c', 1, 2, 3)

# multiply
print(t1 * 2)   # ('a', 'b', 'c', 'a', 'b', 'c')

# length
print(len(t1))  # 3

 

5. 딕셔너리형

딕셔너리

- Key Value 구조의 데이터 자료형

- {Key1:Value1, Key2:Value2, Key3:Value3, ...}

※ Key에는 변하지 않는 값을, Value에는 변하는 값, 변하지 않는 값 모두 사용 가능하다.

※ Key값으로 중복되는 값이 존재하는 경우 하나의 key를 제외하고 나머지는 모두 무시된다.

■ 딕셔너리 다루기

a = {1 : 'a'}

# 쌍 추가하기
a[2] = 'b'
a['name'] = 'jamie'

print(a)    # {1: 'a', 2: 'b', 'name': 'jamie'}

# 삭제하기

del a[1]

print(a)    # {1: 'a', 'name': 'jamie'}

 

■ 딕셔너리 함수

a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}

# key 값들 받기
a.keys()    # dict_keys(['name', 'phone', 'birth'])

# value 값들 받기
a.values()  # dict_values(['pey', '0119993323', '1118'])

# key, values
a.items()   # dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

# clear
a.clear()
print(a)    # ()

# get
a.get('name')  # 'pey'

# in
'name' in a    # True

※ a[]로 존재하지 않는 key를 요청하는 경우 key 오류를 발생시키고, get()에서 없는 key를 조회하는 경우 None을 반환한다.

6. 집합형

◼︎ 집합 (set)

- set() 또는 () 괄호 안에 리스트를 넣어서 생성한다.

- 중복을 혀용하지 않는다.

- 순서가 없다. (unordered)

-> 인덱스를 통해서 값을 얻을 수 없다. (인덱스를 얻기 위해서는 리스트나 튜플로 변환해야한다.)

◼︎ 교집합, 합집합, 차집합

1. 교집합

- '&' 기호 또는 intersection() 함수를 통해서 교집합을 구한다.

s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

s1 & s2    # {4, 5, 6}
s1.intersection(s2)    # {4, 5, 6}

2. 합집합

- '|' 기호 또는 union() 함수를 통해서 합집합을 구한다.

s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

s1 | s2    # {1, 2, 3, 4, 5, 6, 7, 8, 9}
s1.union(s2)    # {1, 2, 3, 4, 5, 6, 7, 8, 9}

3. 차집합

- '-' 기호 또는 difference() 함수를 통해서 차집합을 구한다.

s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

s1 - s2    # {1, 2, 3}
s2 - s1    # {7, 8, 9}

s1.difference(s2)    # {1, 2, 3}
s2.difference(s1)    # {7, 8, 9}

◼︎ 집합 함수들

s1 = set([1, 2, 3])

# add
s1.add(4)
s1            # {1, 2, 3, 4}

# update: 한번에 여러 값을 추가하는 경우
s1.update([5, 6, 7])
s1            # {1, 2, 3, 4, 5, 6, 7}

# remove: 특정값을 제거 - 인덱스가 아님 (집합은 순서가 없기 때문)
s1.remove(2)
s1            # {1, 3, 4, 5, 6, 7}

7. 불리언형

◼︎ bool형

- 참, 거짓 두가지 값을 가진다

- True, False

※ 각 자료형 별 참거짓 기준

반응형