본문 바로가기
학부 자료/Python

[Python] 파이썬 기초 2/20, 문자열인덱싱슬라이싱

by jackMK 2023. 11. 7.

<내용정리>

- 관련 파일

2일차_221114.py
0.00MB
python_test_02_문자열인덱싱슬라이싱_정답.py
0.00MB

- 본문

##실수
print(float(1))
print(float(True))
print(float(False))
print(float('3.14'))
print(float('100'))
print()

##논리
print(bool(0))
print(bool(1))
print(bool(2)) #0을 제외한 나머지 수는 모든 참이다
print(bool('')) #비어있는 값은 거짓이다
print(bool([]))
print()

##문자열
print(str(100))
print(str(True))
print(str(False))
print(str(3.14))

print('Hello, Python')
print("Hello, Python")

print('''Life is too short,
you need Python''') #여러 줄 입력 방법

print("It's me.")
print('It\'s me.')

print('"파이썬 아주 쉽네."라고 그가 말했다.')

##문자열 인덱싱
문자열의 특정 문자 추출
[0] : 문자열의 처음
[-1] : 문자열의 마지막

## ex)
print('Hello'[0])
print('Hello'[1])
print('Hello'[2])
print('Hello'[3])
print('Hello'[4])
print()

print('Hello'[-1])
print('Hello'[-2])
print('Hello'[-3])
print('Hello'[-4])
print('Hello'[-5])
print()

a = 'My Python'
print(a[0])
print(a[2]) #공백도 인덱싱에 포함된다
print(a[-7])

##문자열 슬라이싱
문자열의 구간을 표시
a라는 변수가 있다면 a[시작번호:끝번호+1]
[:] : 처음부터 끝까지, 모두

print('Hello'[1:3]) --> el

a = 'banana'
print(a[:]) --> banana
print(a[0:5]) --> banan
print(a[:3] --> ban #처음부터
print(a[2:]) --> nana #끝까지

b = 'Hello'
print(b[1]) #인덱싱
print(b[2:4]) #슬라이싱
print(b) #원본에는 영향을 주지 않는다

c = b[1] #다음에도 사용하려면 변수에 담는다
d = b[2:4]
print(c)
print(d)

##list
a = [] #빈 리스트
b = [1, 2, 3] #정수로 이루어진 리스트
c = ['a', 'b', 'c', 'd'] #문자열로 이루어진 리스트
d = [1, 2, 'a', 'b', True] #여러 자료형으로 이루어진 리스트
e = [1, 2, ['a', 'b']] #이중 리스트
f = [1, 2, ['a', 'b', ['안녕', '하세요']]] #삼중 리스트

print(a)
print(b)
print(c)
print(d)
print(e)

##리스트 인덱싱
print(b[1])
print(c[3])
print(e[2])
print(e[-1])
print(e[2][0]) #이중 리스트 안에 있는 값 출력
print(f[2][2][1]) #삼중 리스트 안에 있는 값 출력

##리스트 슬라이싱
a = [1, 2, 3, 4, 5]
print(a[0:2])
print(a[2:3])

b = [1, 2, 3, ['b', 'c', 'd'], 4, 5]
print(b[2:5])
print(b[3][:])
print(b[3:5][1])
print(b[3:5][0:2])

##리스트 연산자(+, *)
list_a = [1, 2, 3]
list_b = [4, 5, 6]

print('list_a :', list_a)
print('list_b :', list_b)

print('list_a + list_b :', list_a + list_b) #하나의 리스트로 합쳐짐

list_c = list_a + list_b
print('list_c :', list_c)

print('list_a * 3:', list_a * 3) #3번 반복 출력

list_d = list_a * 4
print('list_d:', list_d)

##리스트 요소(값) 추가 : append(항상 맨 뒤), insert(위치 지정)
list1 = [1, 2, 3]
print('list1 :', list1)

list1.append(4) #맨 뒤에 4 추가
print('list1 :', list1)

list1.append(100)
print('list1 :', list1)

list1.insert(1, 50)
print('list1 :', list1)

##리스트 요소(값) 삭제 : del, pop
list2 = [0, 1, 2, 3, 4, 5]
print('list2 :', list2)

del(list2[1]) #1번 인덱스 값 삭제
print('list2 :', list2)

list2.pop(2) #2번 인덱스 값 삭제
print('list2 :', list2)

list2.pop() #마지막 인덱스 값 삭제
print('list2 :', list2)
print()

list3 = [0, 1, 2, 3, 4, 5, 6]
print('list3 :', list3)

del(list3[3:6]) #슬라이싱 삭제는 del함수만 가능
print('list3 :', list3)

 

- 문제 및 정답

# 문자열 인덱싱

'''
[문제]
출력결과를 참고하여 문자열 인덱싱으로 한글자씩 출력해보자.

string = 'PYTHON'

[출력결과]
P
Y
N
N
H


[정답]
string = 'PYTHON'

print(string[0])
print(string[1])
print(string[5])

print(string[-1])
print(string[3])

'''


# 문자열 슬라이싱
'''
[문제]
문자열 슬라이싱으로 출력결과와 같도록 출력해보자.

mystr = 'GOOD NIGHT'

[출력결과]
OO
 NIGHT
GH
OD

[정답]
mystr = 'GOOD NIGHT'

print(mystr[1:3])
print(mystr[4:10])
print(mystr[-3:-1])
print(mystr[2:4])

'''

loading