본문 바로가기

Progremming Study/python

Python set자료형

728x90

set 자료형

* 중괄호 사용

s = set{}

 

ex}

s1 = {1,2,3,4,5}

print(type(s1))

-> set 

 

* 중복이 없는 자료형

st = 'abcdac"

print(set(st))

-> a, b, c, d

 

# list와 set의 차이점 (중복이 다름)

li = [1,2,3,4,5,3,2,2,1,1]

for i in li :

    print(f'{i}의 등장 횟수 = {li.count(i)}')

-> 1 3

    2 3

    3 2
    4 1
    5 1
    3 2
    2 3
    2 3
   1 3
   1 3

for i in set(li) :

    print(f'{i}의 등장 횟수 = {li.count(i)}')

-> 1 3
    2 3
    3 2
    4 1
    5 1

 

 

* 프로그램 실행할 때마다 다르게 나옴

(랜덤, 순서가 없는 자료형)

(인덱싱을 할 수 없음)

st = 'abcdancda'

for i in range(10) :

    print(set(st))

 

 

* 집합연산에 용이

> 교집합     &

> 합집합     |

> 차집합     - 

li1 = [1,2,3,4,5]

li2 = [4,5,6,7,8,9]

print(set(li1)&set(li2)

-> 4,5

print(set(li1)|set(li2))

-> 1,2,3,4,5,6,7,8,9

print(set(li1)-set(li2))

-> 1,2,3

 

 

* 자료 추가 add

s = {1,2}

for i in range(100):

s.add(3)

print(s)

-> 1,2,3

 

 

* 자료 삭제 remove

s = {1,2,3}

s.remove(3)

print(s)

-> 1,2

 

 

 

ex)

# 중복되는 단어 빼고 단어들이 가사에 몇 번 등장하는지 

가사 = ''' '''

단어들 = 가사. split()

for i in set(단어들) :

    print(i, 단어들. count(i))

728x90

'Progremming Study > python' 카테고리의 다른 글

Python dictionary  (0) 2022.05.28
Python import  (0) 2022.05.28
Python class  (0) 2022.05.27
Python 함수  (0) 2022.05.27
Python 문자열 _ formatting  (0) 2022.05.26