문자열 관련 메소드
1) 대소치환(upper(),lower(),title())
문자열.upper() : 문자열을 대문자로 치환
문자열.lower() : 문자열을 소문자로 치환
문자열.title() : 문자열 앞글자만 대문자로 치환
a1 = 'abc de12! cAA'
a1.upper() #ABC DE12! CAA
a1.lower() #abc de12! caa
a1.title() #Abc De12! Caa
2) 공백제거(strip(),lstrip(),rstrip())
문자열.strip() : 문자열 양옆 공백제거
문자열.lstrip() : 문자열 왼쪽 공백제거
문자열.rstrip() : 문자열 오른쪽 공백제거
' dfc '.strip() #dfc
' dfc '.lstrip() #dfc
' dfc '.rstrip() # dfc
3) 문자열의 구성 확인하기(is___())
문자열.isalnum() : 문자열이 알파벳 문자와 숫자로 이루어져 있는지 확인
문자열.isalpha() : 문자열이 모두 알파벳 문자로 이루어져 있는지 확인
문자열.isdentifier() : 문자열이 식별자로 사용될수 있는지 확인
문자열.isdecimal() : 문자열이 모두 10진수인지 확인
문자열.isdigit() : 문자열이 모두 숫자로 이루어져 있는지 확인
문자열.isspace() : 문자열이 공백으로만 구성되어 있는지 확인
문자열.islower() : 문자열이 소문자로만 구성되어 있는지 확인
문자열.isupper() : 문자열이 대문자로만 구성되어 있는지 확인
문자열.isascii() : 문자열이 ASCII 문자로 이루어져 있는지 확인
"hello".islower() #True
"Hello".islower() #False
4) 문자열의 시작/끝 확인하기(startswith(),endswith())
문자열.startswith('특정문자열') : 문자열에서 특정 문자열로 시작하는지 여부를 확인
문자열.endswith('특정문자열') : 문자열에서 특정 문자열로 끝나는지 여부를 확인
a1 = 'abc de12! cAA'
a1.startswith('A') #False
a1.startswith('a') #True
a1.endswith('a') #False
a1.endswith('A') #True
5) 문자열 찾기(find(),rfind())
문자열.find('특정문자열') : 왼쪽부터 특정 문자열을 찾기 시작해서 처음 등장하는 위치를 리턴
문자열.rfind('특정문자열') : 오른쪽부터 특정 문자열을 찾기 시작해서 처음 등장하는 위치를 리턴
a1 = 'abc de12! cAA'
a1.find('!') #8
a1.rfind('!') #8
a1.find('?') #-1(값이 존재하지 않는 경우 -1 리턴)
6) 문자열 확인하기(in/ not in 연산자)
'특정문자열' in/not in '문자열' : 문자열안에 특정문자열이 있는지/없는지 확인
str1 = '안녕하세요'
'안녕'in str1 #True
'잘가'in str1 #False
'잘가'not in str1 #True
7) 문자열 자르기(split())
문자열.split() : 문자열을 특정한문자로 자를 때 사용
- split()의 괄호에 아무것도 입력하지 않으면 공백(띄어쓰기)를 기본값으로 가짐
- 반환값(실행결과는) 무조건 리스트(list)로 출력
a1 = 'abc de12! cAA'
a1.split(' ') #['abc', 'de12!', 'cAA']
a1.split(' ')[0] #abc
'a#b#c#d#e'.split('#') #['a', 'b', 'c', 'd', 'e']
'a#b#c#d#e'.split('#',2) #['a', 'b', 'c#d#e'](split를 선언한 횟수만큼만 실행)
8) 문자열 치환/삭제(replace())
문자열.replace('특정문자열','변경할문자열') : 문자열안의 문자열을 특정 문자열로 변경할 때 사용
- 변경할 문자열에 아무것도 입력하지 않으면 특정문자열 삭제
a1 = 'abc de12! cAA'
a1.replace('a','A') #Abc de12! cAA ('a'를 'A'로 치환)
a1.replace('a','') #bc de12! cAA ('a'를 삭제)
'a#b#c#d#'.replace('#', '') #abcd
'a#b#c#d#'.replace('#', '', 2) #abc#d# (replace를 선언한 횟수만큼 실행)
9) 문자열 포함횟수확인(count())
문자열.count('찾는문자열') : 찾는 문자열의 갯수를 문자열에서 카운트
a1 = 'abc de12! cAA'
a1.count('A') #2
a1.count('1') #1
a1.count(1) #error 발생(문자열형태로 전달 필요)
10) 문자열 삽입(zfill(),rjust(),ljust(),center())
문자열.zfill(문자열길이(정수)) : 지정한 문자열의 길이가 될 때까지 문자열의 왼쪽을 0으로 채움
문자열.rjust(문자열길이(정수),'삽입할문자열') : 지정한 문자열의 길이가 될 때까지 문자열의 왼쪽을 특정문자열로 채움
문자열.ljust(문자열길이(정수),'삽입할문자열') : 지정한 문자열의 길이가 될 때까지 문자열의 오른쪽을 특정문자열로 채움
문자열.center(문자열길이(정수),'삽입할문자열') : 지정한 문자열의 길이가 될 때까지 문자열의 양쪽을 특정문자열로 채움
'abc'.zfill(10) #0000000abc
'abc'.rjust(10, ' ') # abc
'abc'.rjust(10, '*') #*******abc
'abc'.ljust(10, '*') #abc*******
'abc'.center(10, '*') #***abc****
11) 문자열 합치기(join())
'구분자'.join(리스트) : 리스트에 있는 요소가 문자열 일 때, 리스트의 요소를 하나씩 합쳐서 하나의 문자열로 반환
- 리스트 요소의 자료형이 문자열이 아닌 경우 에러 발생(result3)
- 리스트 요소의 자료형이 문자열이 아닌 경우 형변환을 통해 해결가능(result4)
strlist1 = ['a','b','c']
strlist2 = ['1','2','3']
intlist1 = [1,2,3]
result1 = ' '.join(strlist1) #a b c
result2 = ' '.join(strlist2) #1 2 3
result3 = ' '.join(intlist1) #TypeError: sequence item 0: expected str instance, int found
result4 = ' '.join(str(i) for i in intlist1) #1 2 3
리스트 관련 메소드
1) 리스트에 요소 추가하기(append(), insert(), extend())
리스트.append(추가할 요소) : 리스트에 요소 하나씩 추가
리스트.insert(추가할 위치, 추가할 요소) : 원소를 추가하고 싶은 위치를 지정하여 요소 추가
리스트.extend(리스트로 추가할 요소 전달) : 한 번에 여러 요소를 추가할 때 사용(리스트형태로만 추가가능)
list1= [1,2,3]
list1.append(4) #[1, 2, 3, 4]
list1.insert(0,10) #[10, 1, 2, 3, 4]
list1.extend([5,6,7]) #[10, 1, 2, 3, 4, 5, 6, 7]
2) 리스트에 요소 제거하기(del, pop(), remove(), clear())
del 리스트[인덱스], 리스트.pop(인덱스) : 인덱스로 특정 값을 제거(del은 범위지정 가능) - 인덱스를 통해서 제거(괄호안에가 인덱스)
리스트.remove() : 첫 번째 원소부터 탐색하여 가장 먼저 발견되는 값을 제거 - 값을 찾아서 제거(괄호안에가 값)
리스트.clear() : 모두 제거
list1= [0,1,2,3,4,5]
del list1[1] #[0, 2, 3, 4, 5]
list1= [0,1,2,3,4,5]
del list1[3:5] #[0, 1, 2, 5]
list1= [0,1,2,3,4,5]
list1.pop(2) #[0, 1, 3, 4, 5]
list1= [0,1,2,3,4,5]
list1.pop() #[0, 1, 2, 3, 4]
list1= [0,1,0,1,0,2]
list1.remove(2) #[0, 1, 0, 1, 0]
list1= [1,2,1,2]
list1.remove(2) #[1, 1, 2] (처음등장하는 위치만 제거)
list1= [1,2,1,2]
list1.clear() #[]
3) 리스트에 요소 확인하기(in/ not in 연산자)
요소 in/ not in 리스트 : 리스트안에 요소가 있는지/없는지 확인
list1 = ['가','나','다']
'가' in list1 #True
'하' in list1 #False
'하' not in list1 #True
4) 리스트 정렬(sort())
리스트.sort() : 오름차순 순서대로 정렬
리스트.sort(reverse=True) : 내림차순 순서대로 정렬
list1 = [3,5,6,2,4,1]
list1.sort() #[1, 2, 3, 4, 5, 6]
list1.sort(reverse=True) #[6, 5, 4, 3, 2, 1]
5) 리스트 안의 특정 원소 세기(count())
리스트.count(요소) : 리스트안에 있는 요소의 개수를 카운트
list1 = ['가','나','다','나','라']
list1.count('나') #2
'Python > Python' 카테고리의 다른 글
[Python] 07. 파이썬의 연산자 (0) | 2024.01.09 |
---|---|
[Python] 06. 입출력(input(),print(),print()문의 옵션) (0) | 2023.11.26 |
[Python] 04. 메소드와 함수 (0) | 2023.11.24 |
[Python] 03. 문자열/리스트 인덱싱 및 슬라이싱 (0) | 2023.11.23 |
[Python] 02. 리스트(list)와 2차원리스트(list) (0) | 2023.11.23 |