[Python] 튜플, 집합

ㅎㅎ·2021년 5월 17일
1

Python

목록 보기
6/27




📌튜플 (tuple)

  • ()로 둘러쌓여 있음.
  • 리스트는 값의 생성, 삭제,수정이 가능하지만 튜플은 그 값을 바꿀 수 없음.
#튜플 
- t1 = ()
- t2 = (1,2,3,4)
- t3 = ("a","b",("ab","cd"))
- t4 =. 1,2,3  # --> 괄호를 생략함.
- t5 = (1,) # --> 1개의 요소를 가질때는 반드시 콤마(,)를 붙여야함.

- 튜플과 리스트의 차이점?

  • 가장 큰 차이점은 리스트의 항목 값은 변화가 가능하고, 튜플의 항목 값은 변화가 불가능하다. 따라서 프로그램이 실행되는 동안 그 값이 항상 변하지 않길 바란다면 튜플을 사용해야한다.

  • 튜플을 삭제하거나 요소값을 변경하려 한다면 오류가 발생한다.

  • 값을 변화시킬수 없다는 점만 제외한다면 리스트와 완전히 동일함.

    • 인덱싱 : ex) t1[0],t1[1]
    • 슬라이싱 ex) t1[1:4]
    • 더하기 : +
    • 곱하기 : *
    • 길이 구하기 : len()



📌 집합 (set)

  • 집합 자료형은 set 키워드를 사용해 만들 수 있음.
  • 중복을 허용하지 않음.
  • 순서(ordered)가 없으므로 인덱싱으로 값을 얻을 수 없음.
    따라서 set 자료형에 저장된 값을 인덱싱으로 접근하려면 리스트와 튜플로 변환한 후 접근해야함.
s1 = set([1,3,4,5,5])
print(s1)

# 중복 허용 X
-> {1, 3, 4, 5}

s2 = set("hello")
s3 = set("happy")

print(s2)
print(s3)

# 중복을 허용하지 않으며, 순서가 없기 때문에
-> {'l', 'e', 'o', 'h'}
-> {'a', 'y', 'p', 'h'}

- 교집합, 합집합, 차집합 구하기

  • set 자료형을 유용하게 사용할 수 있는 경우는 교집합, 합집합,차집합을 구할때이다.

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
{8, 9, 7}

#두번째 방법
>>> s1.difference(s2)
{1, 2, 3}
>>> s2.difference(s1)
{8, 9, 7}

📌 집합 관련 함수들

  • .add() : 값 1개 추가하기
  • .update : 값 여러 개 추가하기
  • .remove() : 특정 값 제거하기

0개의 댓글