파이썬 코테 함수 - 문자열

장현진·2022년 10월 18일
0
post-custom-banner

코딩테스트를 위한 파이썬 함수


1. 문자열

  • 파이썬 문자열은 => 배열 , 배열(ex ['a','b','c'])은 != 문자열

1) isalpha( ) / isalnum( )

isalpha()는 문자열이면 True, 아니면 False를 리턴하고, isalnum()은 숫자면 True, 아니면 False를 리턴함

text1 = 'abcd'
print(text1.isalpha() ) // true


text2 = '1234'
print(text2.isalnum()) // true

2) count

count 함수는 특정 문자의 개수를 반환
count내에 두 번째 인자로 숫자를 지정해준다면, 해당 위치 인덱스를 시작점으로 탐색

a = 'you youth yours yolo'


print(a.count('o')) # 5(o가 5개)
print(a.count('you')) # 3(you가 3개)
print(a.count('o', 2)) # 4('u youth yours yolo' 에서 o 4개)
a.count('o', 2)의 경우는 2번 인덱스인 u부터 시작하는 문자열에서

3) find
find함수는 해당 문자가 처음으로 등장하는 인덱스를 반환

해당 문자를 찾지 못하면 -1을 반환
count 함수와 마찬가지로 두 번째 인자에 숫자를 넣어주면, 해당 위치부터 탐색을 시작하여 가장 처음 해당 문자가 등장하는 인덱스를 반환

a = 'you youth yours yolo'

print(a.find('o')) # 1
print(a.find('your')) # 10
print(a.find('o', 6)) # 11(6번 인덱스인 u부터 탐색)
print(a.find('i')) # -1

4) join 함수는 아래와 같이 연결 문자

연결 문자.join(리스트) 형태로 사용
리스트를 하나의 문자열로 만들어줌

a = ['ab', 'cd', 'ef']

''.join(a) # 'abcdef'
' '.join(a) # 'ab cd ef'
'ggg'.join(a) # 'abgggcdgggef'

5) split

함수의 반환 값은 문자열에서 분할된 결과를 리스트에 순서대로 담아서 반환
split 함수는 기본적으로 문자열 자료형에만 사용가능


a = '가 나 다 a/b/c'

a.split() # ['가', '나', '다', 'a/b/c'] -> 공백을 기준으로 나눈 상황

a.split(' ', 2) # ['가', '나', '다 a/b/c'] -> 최대 분할 횟수 2회라서 마지막 원소가 분리 안됨

a.split('/') # ['가 나 다 a', 'b', 'c'] -> '/'를 기준으로 나눈 상황


a.split().split('/') 불가능(리스트에는 split 함수 X)
b = a.split() # b[3] = 'a/b/c' 의 문자열
c = b[:3] + b[3].split('/') # ['가', '나', '다', 'a', 'b', 'c']

6) replace

string0.replace(string1, string2) 로 지정하면,
string0 내의 string1 문자열을 모두 찾아서 string 2 문자열로 바꿈

replace는 한 글자, 혹은 여러 글자 모두에 적용이 가능하며,
빈 문자열로 바꾸는 것 또한 가능(특정 문자열 지움)

a = 'abcde abcde abcde'

# a를 지우는 효과
print(a.replace('a', ''))
# bcde bcde bcde

# 공백을 지우는 효과
print(a.replace(' ', ''))
# abcdeabcdeabcde

# 특수 케이스 : 모든 글자 사이에 z 추가
print(a.replace('', 'z'))
# zazbzczdzez zazbzczdzez zazbzczdzez

7) sorted
문자열 또 한 sorted(string)이 가능 (sort는 불가능 list(stirng)을 이용하여 리스트에 저장후 리스트에서는 가능)


raw = "Doctor Zhivago"
arranged = sorted(raw)
print(arranged) # [' ', 'D', 'Z', 'a', 'c', 'g', 'h', 'i', 'o', 'o', 'o', 'r', 't', 'v']

정렬후 반환값은 리스트 형태로 반환됨

post-custom-banner

0개의 댓글