일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- PYTHON
- python #파이썬 #분기문 #if #else #코딩 #초보 #개발 #예제 #문제 #풀이
- 기초
- 실습
- 파이썬 #Python #코딩 #리스트 #문제 #list #풀이 #예제
- pythob
- 파이썬 #python #코딩 #개발 #초보 #예제 #문제 #풀이
- 파이썬 #python #코딩 #for문 #for #이론
- 파이썬
- 풀이
- 정보처리기사 #개발자 #코딩 #자격증 #IT자격증 #프로그래밍 #초보 #공부 #시험 #일정 #2023년 #정처기 #시험정보
- list
- 코딩
- 연산
- 파이썬 #python #코딩 #초보 #예제 #문제풀이
- python #파이썬 #코딩 #예제 #풀이
- SQLD #SQL #에스큐엘디 #에스큐엘 #자격증 #2023년 #시험일정 #시험준비 #일정 #SQL개발자 #개발 #코딩 #분석
- python #파이썬 #코딩 #초보 #개발 #예제 #문제 #풀이 #리스트 #튜플
- 파이썬 #python #for #예제 #문제 #풀이 #기초 #코딩
- 파이썬 #python #기초 #코딩 #예제 #문제 #풀이 #공부 #초보 #개발
- 파이썬 #리스트 #python #list #문제 #예제 #풀이
- 문제
- 파이썬 #python #for #예제 #문제 #풀이 #코딩 #공부
- 파이썬 #python #코딩 #for #tuple #튜플 #예제 #문제 #풀이 #기초
- 초보
- 딕셔너리
- 파이썬 #python #코딩 #문제 #풀이 #예제
- DICTIONARY
- python #파이썬 #개발 #코딩 #초보 #예제 #문제 #풀이
- 예제
- Today
- Total
왕초보 코딩 개발 일지 블로그
03. 파이썬 문자열 (021~030) 본문
출처 : 021 ~ 030 - 초보자를 위한 파이썬 300제 (wikidocs.net)
021 ~ 030
.answer {margin-top: 10px;margin-bottom: 50px;padding-top: 10px;border-top: 3px solid LightGray;bo…
wikidocs.net
021 문자열 인덱싱
letters가 바인딩하는 문자열에서 첫번째와 세번째 문자를 출력하세요.
>> letters = 'python'
실행 예
p t
letters = 'python'
print(letters[0],letters[2])
p t
022 문자열 슬라이싱
자동차 번호가 다음과 같을 때 뒤에 4자리만 출력하세요.
>> license_plate = "24가 2210"
실행 예: 2210
license_plate = "24가 2210"
print(license_plate[-4:])
2210
* 문자열에서 여러 글자를 가져오는 것을 슬라이싱이라고 부릅니다.
음수 값은 문자열의 뒤에서부터 인덱싱 또는 슬라이싱함을 의미합니다.
슬라이싱에서 시작 인덱스를 생락혀면 0으로 간주하고, 끝 인덱스를 생략하면 문자열의 끝을 의미합니다.
023 문자열 인덱싱
아래의 문자열에서 '홀' 만 출력하세요.
>> string = "홀짝홀짝홀짝"
실행 예:
홀홀홀
string = "홀짝홀짝홀짝"
print(string[::2])
홀홀홀
* 슬라이싱할 때, '시작인덱스 : 끝인덱스 : 오프셋' 을 지정할 수 있다.
* 오프셋(offset)이란?
컴퓨터 과학에서 배열이나 자료 구조 오브젝트 내의 오프셋(offset)은 일반적으로 동일 오브젝트 안에서 오브젝트 처음부터 주어진 요소나 지점까지의 변위차를 나타내는 정수형이다.
오프셋이 -1 이면 끝 인덱스부터 역순으로 읽는다.
string = "홀짝홀짝홀짝"
print(string[::-2])
짝짝짝
024 문자열 슬라이싱
문자열을 거꾸로 뒤집어 출력하세요.
>> string = "PYTHON"
실행 예:
NOHTYP
string = "PYTHON"
print(string[::-1])
NOHTYP
* 오프셋이 -1 이면 끝 인덱스부터 역순으로 읽는다.
025 문자열 치환
아래의 전화번호에서 하이푼 ('-')을 제거하고 출력하세요.
>> phone_number = "010-1111-2222"
실행 예
010 1111 2222
phone_number = "010-1111-2222"
phone_number1 = phone_number.replace("-", " ")
print(phone_number1)
010 1111 2222
* 파이썬 문자열에서 replace 메서드를 사용하면 문자열을 일부를 치환할 수 있습니다.
문자열의 요솟값은 바꿀 수 있는 값이 아니기 때문에(immutable)
기존 문자열은 그대로 두고 치환된 새로운 문자열을 리턴해야 합니다.
변수명 = 변수명.replace(바뀌게 될 문자열, 바꿀 문자열) 형태로 문자열 안의 특정한 값을 다른 값으로 치환해 준다.
문자열은 변경할 수 없는 자료형이기 때문에, replace 매서드를 사용할 때 반드시 변수명 = 변수명.replace(~) 형태로 코드를 입력한다.
026 문자열 다루기
25번 문제의 전화번호를 아래와 같이 모두 붙여 출력하세요.
실행 예
01011112222
phone_number = "010-1111-2222"
phone_number1 = phone_number.replace("-", "")
print(phone_number1)
01011112222
* "-" 대신 "" < 공백 없게 치환하기
027 문자열 다루기
url 에 저장된 웹 페이지 주소에서 도메인을 출력하세요.
>> url = "http://sharebook.kr"
실행 예:
kr
url = "http://sharebook.kr"
url_split = url.split('.')
print(url_split[-1])
* 문자열로 표현된 url에서 `.`을 기준으로 분리합니다.
분리된 url 중 마지막을 인덱싱하면 도메인만 출력할 수 있습니다.
url = "http://sharebook.kr"
url_split = url.split('.')
print(url_split[-2])
분리된 url 중 print(url_split[-2])을 입력하여 인덱싱하면 앞쪽을 출력할 수 있습니다.
<다른 예제>
a = "Life is too short"
a.split()
# ['Life', 'is', 'too', 'short'] ← 리스트
b = "a:b:c:d"
b.split(':')
# ['a', 'b', 'c', 'd'] ← 리스트
- split 함수는 a.split()처럼 괄호 안에 아무 값도 넣어 주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나누어 준다.
- 만약 b.split(':')처럼 괄호 안에 특정 값이 있을 경우에는 괄호 안의 값을 구분자로 해서 문자열을 나누어 준다.
- 이렇게 나눈 값은 리스트에 하나씩 들어가게 된다. ['Life', 'is', 'too', 'short']나 ['a', 'b', 'c', 'd']가 리스트이다.
028 문자열은 immutable
아래 코드의 실행 결과를 예상해보세요.
>> lang = 'python'
>> lang[0] = 'P'
>> print(lang)
문자열은 수정할 수 없습니다.
실행 결과를 확인해보면 문자열이 할당(assignment) 메서드를 지원하지 않음을 알 수 있습니다.
TypeError Traceback (most recent call last)
<ipython-input-22-a0f3d05b669c> in <module>
1 lang = "python"
----> 2 lang[0]= "P"
3 print(lang)
TypeError: 'str' object does not support item assignment
029 replace 메서드
아래 문자열에서 소문자 'a'를 대문자 'A'로 변경하세요.
>> string = 'abcdfe2a354a32a'
실행 예:
Abcdfe2A354A32A
변수명.replace(바뀌게 될 문자열, 바꿀 문자열)처럼 사용해서 문자열 안의 특정한 값을 다른 값으로 치환해 준다.
string = 'abcdfe2a354a32a'
string = string.replace('a', 'A')
print(string)
Abcdfe2A354A32A
030 replace 메서드
아래 코드의 실행 결과를 예상해보세요.
>> string = 'abcd'
>> string.replace('b', 'B')
>> print(string)
`abcd`가 그대로 출력됩니다.
왜냐하면 문자열은 변경할 수 없는 자료형이기 때문입니다.
replace 메서드를 사용하면 원본은 그대로 둔채로 변경된 새로운 문자열 객체를 리턴해줍니다.
문자열은 변경할 수 없는 자료형이기 때문에, replace 매서드를 사용할 때 반드시 변수명 = 변수명.replace(~) 형태로 코드를 입력한다.
'Python 공부 > 파이썬 300제 풀이 연습' 카테고리의 다른 글
07. 파이썬 분기문 (101~110) (0) | 2023.04.07 |
---|---|
03. 파이썬 문자열 (041~050) (0) | 2023.04.06 |
03. 파이썬 문자열 (031~040) (0) | 2023.04.06 |
02. 파이썬 변수 (011~020) (0) | 2023.04.06 |
01. 파이썬 시작하기 (001~010) (0) | 2023.04.06 |