[파이썬 기초 문법] 6장. 리스트와 문자열의 함수들
20 Jun 2019
Reading time ~3 minutes
이 포스트는 윤성우님의 저서 열혈 파이썬 기초편을 기반으로 작성한 글입니다.
윤성우 열혈 파이썬 기초편
6장.리스트와 문자열의 함수들
1.리스트와 함수들
>>> st = [1, 3, 5, 7, 9]
>>> num = len(st)
>>> num
5
>>> st = [2, 5, 3, 7, 4]
>>> min(st)
2
>>> max(st)
7
>>> st = [1, 2, 3]
>>> st.remove(2) # 리스트에서 2를 찾아서 삭제
>>> st
[1, 3]
>>> st = [1, 2, 3]
>>> st.append(4) # st의 끝에 4 추가
>>> st.extend([5, 6]) # st의 끝에 [5, 6]의 내용 추가
>>> st
[1, 2, 3, 4, 5, 6]
>>> st = [1, 2, 4]
>>> st.insert(2, 3) # 인덱스 값 2의 위치에 3 저장
>>> st
[1, 2, 3, 4]
>>> st.clear() # 리스트 내용 전부 삭제
>>> st
[]
>>> st = [] # 빈 리스트 생성
>>> st.append(1) # 리스트에 1 추가
>>> st.append(9) # 리스트에 9 추가
>>> st
[1, 9]
>>> st = [1, 2, 3, 4, 5]
>>> st.pop(0) # 인덱스 값 0의 위치에 저장된 데이터 삭제
1
>>> st
[2, 3, 4, 5]
>>> st.remove(5) # 리스트에서 5를 삭제
>>> st
[2, 3, 4]
>>> st = [1, 2, 3, 1, 2]
>>> st.count(1) # 1이 몇 번 등장하는지 세어라.
2
>>> st.index(2) # 처음 2가 등장하는 위치의 인덱스 값은?
1
2.문자열과 함수들
>>> str = "YoonSungWoo"
>>> str.count("o") # "o"가 몇 번 등장?
4
>>> str.count("oo") # "oo"가 몇 번 등장?
2
>>> org = "Yoon"
>>> lcp = org.lower() # 모든 문자를 소문자로 바꿔서 반환
>>> ucp = org.upper() # 모든 문자를 대문자로 바꿔서 반환
>>> org # 원본은 그대로 존재한다.
'Yoon'
>>> lcp
'yoon'
>>> ucp
'YOON'
>>> org = " MIDDLE "
>>> cp1 = org.lstrip() # 앞쪽에(왼쪽에) 있는 공백들 모두 제거
>>> cp2 = org.rstrip() # 뒤쪽에(오른쪽에) 있는 공백들 모두 제거
>>> org
' MIDDLE '
>>> cp1
'MIDDLE '
>>> cp2
' MIDDLE'
>>> org = " MIDDLE "
>>> cpy = org.strip() # 앞과 뒤에 있는 공백들 모두 제거
>>> org
' MIDDLE '
>>> cpy
'MIDDLE'
>>> org = "YoonSungWoo"
>>> rps = org.replace("oo", "ee") # "oo"를 전부 "ee"로 교체
>>> rps
'YeenSungWee'
>>> org = "YoonSungWoo"
>>> rps = org.replace("oo", "ee", 1) # 첫 번째 "oo"를 "ee"로 교체
>>> rps
'YeenSungWoo'
>>> org = "ab_cd_ef"
>>> ret = org.split('_') # '_' 기준으로 문자열 쪼개서 리스트에 담아!
>>> ret
['ab', 'cd', 'ef']
3.문자열의 탐색 관련 함수들
>>> str = "What is important is that you should choose what is best for you"
>>> str.find("is") # "is"가 있는 위치의 인덱스 값은?
5
>>> str = "What is important is that you should choose what is best for you"
>>> str.rfind("is") # 마지막 "is"가 있는 위치의 인덱스 값은?
49
리스트의 덧셈 및 곱셈 연산결과는 위와 같다.
4.이스케이프 문자
>>> str = "escape\ncharacters"
>>> print(str)
'''
escape
characters
'''
\n 줄바꿈
\t 탭
' 작은 따옴표 출력
" 큰 따옴표 출력
>>> str = "제가 마음속으로 그랬습니다. '이건 아니야.'라고 말이죠."
>>> print(str)
'''
제가 마음속으로 그랬습니다. '이건 아니야.'라고 말이죠.
'''
‘제가 마음속으로 그랬습니다. '이건 아니야.'라고 말이죠.’
“제가 마음속으로 그랬습니다. "이건 아니야."라고 말이죠.”
5.함수가 아닌 del명령
>>> st = [1, 2, 3, 4, 5]
>>> st.clear() # 리스트의 모든 값 삭제
>>> st
[]
리스트의 모든 값 삭제
>>> st = [1, 2, 3, 4, 5]
>>> st[:] = [] # 리스트의 모든 값 삭제
>>> st
[]
리스트의 모든 값 삭제
>>> st = [1, 2, 3, 4, 5]
>>> st[2:] = [] # 인덱스 2 이후로 전부 삭제
>>> st
[1, 2]
인덱스 2 이후로 전부 삭제
>>> st = [1, 2, 3, 4, 5]
>>> del st[:] # 리스트에 저장된 값 모두 삭제
>>> st
[]
리스트에 저장된 값 모두 삭제
>>> st = [1, 2, 3, 4, 5]
>>> del st # 리스트를 통째로 삭제! 리스트 자체를 삭제!
리스트를 통째로 삭제! 리스트 자체를 삭제!
>>> st = [1, 2, 3, 4, 5]
>>> del st[3:] # st[3]부터 그 뒤까지 모두 삭제
>>> del st[0] # st[0] 하나만 삭제
>>> st
[2, 3]