IT&Computer

파이썬 리스트와 문자열의 유사점과 차이점

Seeker시커 2023. 11. 9. 22:54
반응형

파이썬의 리스트와 문자열은 잘 생각해보면 비슷한 구조를 가지고 있다. 그래서 우리가 리스트 함수로 배운 것들 중에 상당수는 문자열에도 똑같이 사용할 수 있다.

 

파이썬 리스트와 문자열의 유사점과 차이점

 

 

1. 리스트와 문자열의 유사점

리스트와 문자열은 비슷한 구조를 가지고 있다. 리스트는 자료형을 나열한 것이고 문자열은 문자를 나열한 것이다. 이런 유사점때문에 리스트에서 사용하는 함수를 문자열에도 사용할 수 있다.

 

1.1 for문에서 리스트와 문자열 활용

for 문의 반복시 리스트를 활용했듯이 문자열도 활용이 가능하다.

python_list = ['p', 'y', 't', 'h', 'o', 'n', 'a', 'b', 'c']
python_str = "pythonabc"
print("list 출력 시작")
for i in python_list:
    print(i)

print("str 출력 시작")
for i in python_str:
    print(i)

 

1.2 리스트와 문자열의 인덱스

리스트와 마찬가지로 문자열도 인덱스를 활용할 수 있다.

python_list = ['p', 'y', 't', 'h', 'o', 'n', 'a', 'b', 'c']
python_str = "pythonabc"

print("list 출력 시작")

i = 0
while i < len(python_list):
    print(python_list[i])
    i += 1

j = 0
print("str 출력 시작")
while j < len(python_str):
    print(python_str[j])
    j += 1

 

 

1.3 리스트와 문자열의 슬라이싱

문자열을 슬라이싱하여 새로운 문자열 변수를 만들 수 있다.

python_list = ['p', 'y', 't', 'h', 'o', 'n', 'a', 'b', 'c']
python_str = "pythonabc"

print("list 출력 시작")
print(python_list[1:6])
print(python_list[:4])
print(python_list[3:])


print("str 출력 시작")
print(python_str[1:6])
print(python_str[:4])
print(python_str[3:])

 

위에서 출력하지 않고 다른 변수에 저장하는 것도 당연히 가능하다.

 

1.4 문자열과 리스트의 덧셈

python_list = ['p', 'y', 't', 'h', 'o', 'n', 'a', 'b', 'c']
python_str = "pythonabc"

print("list 출력 시작")
print(python_list[0] + python_list[4] + python_list[7])


print("str 출력 시작")
print(python_str[0] + python_str[4] + python_str[7])

문자열과 리스트의 인덱스를 활용하여 덧셈이 가능하다.

 

1.5 문자열과 리스트의 길이

1.2항의 코드에서 이미 확인했듯이 문자열과 리스트 모두 길이를 알 수 있다. 문자열의 경우 문자열 내에 포함된 띄어쓰기, 특수문자 등이 모두 포함된다.

python_list = ['p', 'y', 't', 'h', 'o', 'n', 'a', 'b', 'c']
python_str = "pythonabc"

print("list 출력 시작")
print(len(python_list))


print("str 출력 시작")
print(len(python_str))

 

 

2. 리스트와 문자열의 차이점

리스트와 문자열의 가장 큰 차이점은 수정할 수 있는가(mutable) 또는 수정할 수 없는가(immutable)이다. 리스트는 수정가능하며 문자열은 수정 불가능한 자료형이다. 수정 불가능한 자료형에는 숫자형, 불린형이 모두 포함된다.

python_list = ['p', 'y', 't', 'h', 'o', 'n', 'a', 'b', 'c']
python_str = "pythonabc"

print(python_list)

python_list[0] = "P"
python_list[1] = "Y"

print(python_list)

리스트에서는 인덱스를 활용해서 리스트 내부에 있는 값을 변경할 수 있다. 위의 코드에서 0번과 1번 요소가 소문자 p, y에서 대문자 P, Y로 변경된 것을 알 수 있다.

 

python_list = ['p', 'y', 't', 'h', 'o', 'n', 'a', 'b', 'c']
python_str = "pythonabc"

print(python_str)

python_str[0] = "P"
python_str[1] = "Y"

print(python_str)

문자열에 똑같이 인덱스를 활용한 자료 수정을 시도하면 오류가 발생한다.

 

 

파이썬 리스트와 문자열의 유사점과 차이점

 

 

《이 포스트는 코드잇 강의 내용을 기반으로 작성되었으며, 개발과 프로그래밍에 대해서 거의 알지 못하는 제가 거의 알지 못하는 초보자를 위해 쓴 글임을 밝힙니다.》

반응형