본문 바로가기
  • AI 개발자가 될래요
Python

[Python] 유용한 빌트인 함수 모음 / replace, re.compile, lower, 합집합교집합, Counter, lambda로 sorted()

by 꿀개 2025. 2. 5.

[Python] 유용한 빌트인 함수 모음

 

.replace('a', 'b')


str에 붙여 사용되며, 문자열에 있는 모든 a를 b로 변경.

연속해서 사용도 가능하다. 아래 예시를 보자.


문자열 11111에서 1을 #으로, 0을 공백으로 바꾸려면 아래처럼 replace를 연달아 사용하면 된다.

'11111'.replace('1', '#').replace('0', '')

 


1이 #으로 바뀐 것을 볼 수 있다.


re.compile()


정규 표현식.
사용하기 전에 import re 를 해줘야 한다.
메소드 안에 r'' 형태로 문자열의 규칙을 설명한다.


import re

answer = re.compile(r'')


예시로 이해하자.


 

'패턴' 변수는 어떠한 문자열의 규칙을 알려주는 정규표현식이다.

해석해보면 다음과 같다.
1. ()()()로 3 가지 부분이 있다는 것을 나타냄.
2. 첫 번째 부분에는 [0-9] |10으로 0에서 9까지의 정수나 10이 들어간다는 것을 의미.
3. 두 번째 부분에는 [SDT]로 S, D, T중 하나가 들어간다는 것을 의미.
4. 세 번째 부분에는 [\*\#]? 로 *나 #이 들어갈 수도 있고 아닐수도 있다는 것을 의미.

선언된 정규표현식으로 문자열을 컴파일하려면
.findall() 메소드를 사용한다.

결과는 해당 규칙대로 나눠진 문자열을 각 부분별로 튜플에 담아 리스트로 출력.

마지막 부분은 *이나 #이 없는 경우 공백으로 저장.

예시를 하나 더 보자.


이것은 a부터 z까지 알파벳이 두 개씩 들어간다는 뜻이다.



이렇게 두 개씩 나눠진 것을 볼 수 있다.

또 하나의 예시가 있다.

문자열에서 소문자, 숫자, 빼기, 밑줄, 마침표를 제외한 모든 문자열을 찾는 정규식은 다음과 같다.

 

 

패턴이 반복될 때 [] 뒤에 +를 사용한다는 것을 잊지말자.

 

.lower()

문자열을 소문자로 만들고 싶을 때 사용.

주로 소문자와 대문자가 섞여있는 문자열에서 대소 상관 없이 동일 여부를 파악하고 싶을 때 사용된다.
 
사용법은 문자열 뒤에 .lower()를 붙이는 것이다

name = 'Kim'
name = name.lower()

 

 

합집합 교집합

&: 교집합
|: 합집합


 

from collections import Counter, 다중집합

from collections import Counter
counter_1 = Counter(str1)
counter_2 = Counter(str2)
            
# 교집합
intersections = list((counter_1 & counter_2).elements())
 
 # 합집합 
unions = list((counter_1 | counter_2).elements())

 

 

lambda 함수를 key로 리스트 정렬(sorted())

2차원 리스트 일 때 각 원소의 첫 번째 원소 순서대로 정렬하는 코드.


key에 lambda 함수를 사용하여 첫 번째 원소를 기준으로 정렬하라는 명령을 내릴 수 있다.