[파이썬] 12. 튜플과 집합

2020. 8. 10. 22:00·Programming Langue/Python (파이썬)
728x90
반응형

튜플

값을 수정할 수 없는 리스트

리스트는 대괄호'[ ]'를 사용해 선언하는 반면 튜플은 소괄호'( )'를 사용해 선언

t1 = ('a', 'b', 'c', 1, 2, 3)
print(t1, t1[2])

t2 = ("hello",) #하나의 값이면 뒤에 콤마 입력
print(t2)

t3 = "chloe", 'b', "hello", 1, 2, 3 #괄호 생략 가능
print(t3, t3[2])

s1 = list(set([1,2,3])) #집합 Mutable 타입 (수정 가능)
t4 = ([1, 2, 3], {"사과":"apple", "포도":"grape"}, ('a', 'b', 'c'), s1) #리스트 내 어떤 값도 가능
print(t4, t4[1])

t4[3][2] = "edit" #중요: 튜플 요소가 Mutable하면 수정할 수 있음
t4[1]["사과"] = "edit"
t4[0][2] = "edit"
print(t4)

값을 수정하지 않는 선에서 리스트의 기능을 모두 지원한다.

예) 인덱싱과 슬라이싱, 리스트 함수

집합

선언 및 초기화 : 중괄호({ })를 이용한다.

s = {2, 3, 5, 1, 6}

set( )함수 : 이미 존재하는 다른 묶음 자료형을 집합으로 만듦

"set(묶음 자료형)"

전달 인자(묶음 자료형) : 문자열, 리스트, 딕셔너리, 튜플 등

특징

  1. 요소의 순서가 없다.
  2. 중복되는 값은 한 개만 저장한다.
  3. 딕셔너리는 key만 저장한다.
str = "Hello chloe!!!"		#문자열
print(str, type(str))

s0 = set(str) 
print(s0, type(s0))

l = [1, 2, 3, 4, 5, 6, 7, 8]	#리스트
print(l, type(l))

s1 = set(l) 
print(s1, type(s1))

newlist = list(s1)		#인덱싱, 슬라이싱 가능
print(newlist, newlist[4], newlist[:-5], 
type(newlist))

d = {"Anna":25, "Bob": 23}	#딕셔너리
print(d, type(d))

s2 = set(d)
print(s2, type(s2))

t = (190,)			#튜플
print(t, type(t))

s3 = set(t)
print(s3, type(s3))

리스트 또는 튜플에 속한 요소의 중복을 제거하기 위한 필터로 사용

순서가 없어 인덱싱과 슬라이싱을 사용할 수 없다.

※ 집합을 다시 리스트 list ( ) 또는 튜플 tuple( )을 사용하여 변환하면 가능!

집합 함수

연산

 교집합  &, intersection( )
 합집합  |, union( )
 차집합  -, difference( )
s1 = set([2,4,6,8,10]) 
s2 = set([1,2,3,4,5,6,7,8])

interset = s1 & s2 #교집합
print(interset)
print(s1.intersection(s2), s2.intersection(s1)) #함수 사용
print(s1) #s1의 값이 바뀌는 것이 아님

uniset = s1 | s2 #합집합
print(uniset)
print(s1.union(s2)) 
print(s1) #s1의 값이 바뀌는 것이 아님

#어떤 집합에서 어떤 집합을 빼느냐에 따라 다른 결과 값
difset1 = s1 - s2 
difset2 = s2 - s1
print(difset1)
print(difset2)

집합의 요소를 다루는 함수

함수명 함수 사용 함수 실행 결과
add set.add(a) 집합 set에 a 값을 추가
update set.update([a, b, c, ...]} 집합 set에 여러개 값을 추가
remove set.remove(a) 집합 set에서 a 값을 삭제
s1 = {1, 2, 3, 4}

s1.add("hello")
print(s1)

s1.add((1,2,3)) #add() 사용 시 튜플/문자열은 값 하나로 인식
print(s1)


s1.update(['a', 'b', 'c']) #set()과 같이 여러 값을 추가
s1.update((11,12)) #update() 사용 시 튜플/문자열은 여러값으로 인식
print(s1)

s1.remove("hello") #하나의 값만 제거 가능
print(s1)

다음 글 보기 :

2020/08/25 - [Programming Langue/Python (파이썬)] - [파이썬] 13. 반복문

 

[파이썬] 13. 반복문

반복문 주어진 조건이 True일 때 포함된 내용을 반복하는 문법 조건에 따라 실행 못 할 수도, 한번 수행하고 종료될 수도, 무한 반복을 실행할 수도 있다. 데이터에 순차적으로 접근 코드의 중복��

playpray4me.tistory.com

이전 글 보기 :

2020/08/06 - [Programming Langue/Python (파이썬)] - [파이썬] 11. 딕셔너리

 

[파이썬] 11. 딕셔너리

딕셔너리 : 값들의 집합인 자료형 리스트와 달리 딕셔너리에는 순서가 존재하지 않는다. "key : value" 형태로 값을 저장 딕셔너리 선언 및 초기화 방법 1. 중괄호 key와 value 모두 사용자가 지정 "딕��

playpray4me.tistory.com

 

해당 게시글은 구름EDU(https://edu.goorm.io)의 <한 눈에 끝내는 파이썬3> 강좌를 참고하여 작성되었으며 모든 저작권은 구름에 있습니다.

 

'Programming Langue > Python (파이썬)' 카테고리의 다른 글

[파이썬] 14. 조건문  (0) 2020.08.27
[파이썬] 13. 반복문  (0) 2020.08.25
[파이썬] 11. 딕셔너리  (0) 2020.08.06
[파이썬] 10. 리스트2  (0) 2020.08.03
[파이썬] 9. 리스트1  (0) 2020.07.30
'Programming Langue/Python (파이썬)' 카테고리의 다른 글
  • [파이썬] 14. 조건문
  • [파이썬] 13. 반복문
  • [파이썬] 11. 딕셔너리
  • [파이썬] 10. 리스트2
깜냠미
깜냠미
it 블로그입니다.
  • 깜냠미
    PLAY WORLD
    깜냠미
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • Programming Langue (24)
        • Python (파이썬) (19)
        • Typescript (타입스크립트) (1)
        • Javascript (자바스크립트) (4)
      • Algorithm (114)
        • Baekjoon (백준) (106)
        • Programmers (프로그래머스) (8)
      • ETC (9)
        • Tool (5)
        • DataBase (2)
        • Git || GitHub (1)
        • 번역글 (1)
      • WEB (8)
        • 기초 (0)
        • React (5)
        • NextJS (0)
      • 일상 (2)
        • 정보 (1)
        • 구경 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬
    백준 1단계
    백준
    백준 자바
    문자열
    백준 3단계
    백준 7단계
    Python
    백준 파이썬
    백준 1차원배열
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
깜냠미
[파이썬] 12. 튜플과 집합
상단으로

티스토리툴바