[Python]Set(리스트 중복 제거), join(문자열 합치기)

Date:     Updated:

카테고리:

Set

set 자료구조 정의

set()은 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. 중복을 허용하지 않으며 순서가 없다.
인덱싱으로 접근하려면 리스트나 튜플로 변환한 후 할 수 있다.

#list를 set으로 변환해 중복값 삭제 숫자 타입
set([1,1,2,2,3,3,4,5])
#{1, 2, 3, 4, 5}


#list를 set을 변환해 중복값 삭제 문자열 타입
set(['a', 'a', 'b', 'b', 'c'])
#{'b', 'c', 'a'}

#숫자와 문자열 혼합 타입
set([1, 1, 'x', 'x'])
#{1, 'x'}

set은 중복 요소를 허용하지 않기 때문에 중복 값이 삭제된다.

set를 통한 연산

  1. 교집합
    • &기호를 사용하여 교집합을 구할 수 있다.
    • intersection()을 사용하여 구할 수 있다.
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

s3 = s1 & s2
s4 = s1.intersection(s2)

print(s3) # {4,5,6}
print(s4) # {4,5,6}
  1. 합집합
    • | 기호를 사용해 합집합을 구할 수 있다.
    • union()을 사용하여 구할 수 있다.
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

s3 = s1 | s2
s4 = s1.union(s2)

print(s3)	# {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(s4)	# {1, 2, 3, 4, 5, 6, 7, 8, 9}
  1. 차집합
    • -를 사용하여 차집합을 구할 수 있다.
    • difference()을 사용하여 구할 수 있다.
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

r1 = s1 - s2
r2 = s2 - s1
r3 = s1.difference(s2)
r4 = s2.difference(s1)

print(r1) # {1, 2, 3}
print(r2) # {8, 9, 7}
print(r3) # {1, 2, 3}
print(r4) # {8, 9, 7}

집합 자료형 관련 함수

  1. 값을 1개 추가(.add())
  2. 값을 여러개 추가(.update())
  3. 특정 값 제거(.remove())
s1 = set([1,2,3])
s1.add(4)
print(s1)	#result : {1, 2, 3, 4}

#-------------------------------------#

s1 = set([1,2,3])
s1.update([4,5,6])
print(s1)	#result : {1, 2, 3, 4, 5, 6}

#-------------------------------------#

s1 = set([1,2,3])
s1.remove(2)
print(s1)	#result : {1, 3}

join

문자열 나누기- split() 함수

파이썬에서 문자열을 쪼개는 함수는 split()함수이다. 이 함수는 파라미터로 구분자를 주면 해당 구분자를 기준으로 문자열을 잘라 리스트 형식으로 반환한다. 만약 파라미터에 아무것도 주지 않으면 공백을 기준으로 문자를 나눈다.

str = "Hi my name is limcoing" 
splitted_str = str.split() 
print(splitted_str) 

['Hi', 'my', 'name', 'is', 'limcoing']

문자열 합치기 - join 함수

”“.join(리스트)

str = "Hi my name is limcoing" 
splitted_str = str.split() 
print(splitted_str) 

['Hi', 'my', 'name', 'is', 'limcoing'] 
------------------------------------------
joined_str = "".join(splitted_str) 
print(joined_str) 

Himynameislimcoing 

“특정문자열”.join(리스트)

str = "Hi my name is limcoing" 
splitted_str = str.split() 
print(splitted_str) 

['Hi', 'my', 'name', 'is', 'limcoing'] 

joined_str = "-".join(splitted_str) 
print(joined_str) 

Hi-my-name-is-limcoing 
str = "Hi my name is limcoing" 
splitted_str = str.split() 
print(splitted_str) 

['Hi', 'my', 'name', 'is', 'limcoing'] 


joined_str = " ".join(splitted_str) 
print(joined_str) 

Hi my name is limcoing

py 카테고리 내 다른 글 보러가기

댓글 남기기