Coding/Python

[코뮤니티] 파이썬(python) 튜플, 집합, 딕셔너리(dictionary)

폴밴 2021. 9. 28. 16:25

달콤한 파이썬 #3. 튜플, 집합

튜플

  • 리스트는 대괄호 [ ]로, 튜플은 괄호 ( )로 둘러싼다.
  • 리스트와 달리 튜플은 값의 생성, 삭제, 수정이 불가능하다.
  • 다른 자료형도 포함할 수 있다.
tuple_1 = (1, 2)
tuple_2 = ("python", 1, 2)
tuple_3 = (1, 2, (1, 2, 3))

print(tuple_1)  # (1, 2)
print(tuple_2)  # ('python', 1, 2)
print(tuple_3)  # (1, 2, (1, 2, 3))
  • 튜플 역시 인덱스로 접근할 수 있다.
  • + : 튜플 추가 (이어붙이기)
  • * : 튜플 반복
tuple_1 = (1, 2)
tuple_2 = ("python", 1, 2)
tuple_3 = (1, 2, (1, 2, 3))

print(tuple_1 + tuple_2)  # (1, 2, 'python', 1, 2)
print(tuple_3 * 2)  # (1, 2, (1, 2, 3), 1, 2, (1, 2, 3))

print(tuple_2[1])  # 1
print(tuple_3[2])  # (1, 2, 3)
  • 함수의 리턴값을 한꺼번에 여러개 받을 수 있다.
def min_max(list):
    return min(list), max(list)

list = [1, 2, 3, 4, 5]
result = min_max(list)

print(result)  # (1, 5)

집합

  • 중괄호 { }, 또는 set( ) (정수형 : set([ ]))를 통해 생성할 수 있다.
ex1 = {4, 3, 3, 2, 2, 1}
ex2 = set([8, 9, 2, 4, 6])
ex3 = set("Hello World!")

print(ex1)  # {1, 2, 3, 4}
print(ex2)  # {2, 4, 6, 8, 9}
print(ex3)  # {'l', 'H', ' ', 'W', 'e', 'r', 'd', '!', 'o'}
  • 중복된 값은 허락하지 않고, 순서도 없다. (인덱스 불가능)
ex1 = {4, 3, 3, 2, 2, 1}
ex2 = set([8, 9, 2, 4, 6])
ex3 = set("Hello World!")

print(ex1)  # {1, 2, 3, 4}
print(ex2)  # {2, 4, 6, 8, 9}
print(ex3)  # {'l', 'H', ' ', 'W', 'e', 'r', 'd', '!', 'o'}

교집합

  • & 또는 .intersection( )을 이용해 구할 수 있다.
ex_1 = {1, 2, 3, 4}
ex_2 = set([2 ,3, 4, 5])

print(ex_1 & ex_2)  # {2, 3, 4}
print(ex_1.intersection(ex_2))  # {2, 3, 4}

합집합

  • | (shift + \)나 .union( )을 이용해 구할 수 있다.
ex_1 = {1, 2, 3, 4}
ex_2 = set([2 ,3, 4, 5])

print(ex_1 | ex_2)  # {1, 2, 3, 4, 5}
print(ex_1.union(ex_2))  # {1, 2, 3, 4, 5}

차집합

  • - 혹은 .difference( )를 이용해 구할 수 있다.
ex_1 = {1, 2, 3, 4}
ex_2 = set([2 ,3, 4, 5])

print(ex_1 - ex_2)  # {1}
print(ex_1.difference(ex_2))  # {1}

값 추가

  • .add( )를 통해 값을 추가할 수 있다.
  • .update([ ])를 통해서도 추가할 수 있다.
ex_1 = {1, 2, 3, 4}
ex_2 = set([2 ,3, 4, 5])

ex_1.add(6)
ex_2.update([7])

print(ex_1)  # {1, 2, 3, 4, 6}
print(ex_2)  # {2, 3, 4, 5, 7}

값 제거

  • .remove( )를 통해 특정 값을 제거할 수 있다.
ex_1 = {1, 2, 3, 4}
ex_2 = set([2 ,3, 4, 5])

ex_1.remove(2)
ex_2.remove(5)

print(ex_1)  # {1, 3, 4, 6}
print(ex_2)  # {2, 3, 4, 7}

달콤한 파이썬 #4. 딕셔너리

딕셔너리 (dictionary)

  • 인덱스로 접근할 수 없고, key 값과 value 값을 가지고 있다.
  • dict = {key : value} 를 이용해 만들 수 있다.
dict = {"a" : "apple", "b" : "banana", "c" : "cat"}

print(dict)  # {'a': 'apple', 'b': 'banana', 'c': 'cat'}
print(dict["a"])  # apple

key-value 쌍 추가하기

  • dict[key] = value 로 하나의 쌍을 추가할 수 있다.
  • dict.update({key1 : value1, key2 : value2, ...}) 로 여러개의 쌍을 추가할 수 있다.
dict = {"a" : "apple", "b" : "banana", "c" : "cat"}

dict["d"] = "dance"
print(dict)  # {'a': 'apple', 'b': 'banana', 'c': 'cat', 'd': 'dance'}

dict.update({"e" : "elephant", "f" : "fox"})
print(dict)  # {'a': 'apple', 'b': 'banana', 'c': 'cat', 'd': 'dance', 'e': 'elephant', 'f': 'fox'}

key-value 쌍 제거하기

  • del dict[key]를 통해 해당 key-value 쌍을 제거할 수 있다.
dict = {"a" : "apple", "b" : "banana", "c" : "cat"}

del dict["b"]  # {'a': 'apple', 'c': 'cat'}

print(dict)

key와 value를 따로 보기

  • dict.keys( ), dict.values( )를 통해 따로 볼 수 있다.
  • 리스트로 만들어 깔끔하게 볼 수도 있다.
dict = {"a" : "apple", "b" : "banana", "c" : "cat"}

print(dict.keys())  # dict_keys(['a', 'b', 'c'])
print(dict.values())  # dict_values(['apple', 'banana', 'cat'])

keys = list(dict.keys())
values = list(dict.values())

print(keys)  # ['a', 'b', 'c']
print(values)  # ['apple', 'banana', 'cat']

Source

 

코딩 커뮤니티 - 코뮤니티 [파이썬/... : 네이버 카페

코뮤니티 [코딩공부/독학/스터디/대외활동] : python, C언어, java, 자바스크립트, HTML, CSS, 웹/앱개발

cafe.naver.com