리스트 연산과 수정
✒️ 2025-05-19 10:30 내용 수정
Do it! 점프 투 파이썬(2017년 발행) 내용을 정리
- 리스트 연산도 문자열 연산과 비슷하다.
- 문자열 자료형#문자열 연산 참고.
리스트 더하기
- 두 개 이상의 리스트를 합쳐 새 리스트를 만들 때
+를 사용한다.
>>> a = [1, 2, 3]
>>> b = [10, 9]
>>> a + b
[1, 2, 3, 10, 9]
>>> a = [1, 2]
>>> b = ["a", [True, "apple"]]
>>> c = a + b
>>> c
[1, 2, 'a', [True, 'apple']]
리스트 반복
- 문자열 연산에서
*은 반복을 수행한 것처럼 리스트 연산에서도*을 사용하면 리스트를 반복한 새 리스트를 생성한다.
>>> a = [1, 2, 3]
>>> a * 2
[1, 2, 3, 1, 2, 3]
리스트 요소와 변수 더하기
- 리스트 요소를 꺼내 다른 자료형과의
+연산을 수행할 때 자료형이 일치하지 않으면 연산을 수행할 수 없다. - 예시의 정수 요소값과 문자열을
+로 연산하려 하면 타입 불일치 에러가 생긴다. str()문자열 변환 함수를 사용하여 정수를 문자열로 변환하면 연산을 진행할 수 있다.
>>> a = [1, 2, 3]
>>> a[0] + "test"
Traceback (most recent call last):
File "<python-input-85>", line 1, in <module>
a[0] + "test"
~~~~~^~~~~~~~
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> str(a[0]) + "test"
'1test'
리스트 수정
리스트 값 수정
- 리스트의 특정 인덱스에 있는 요소를 바꿀 때
리스트[idx] = 값으로 수정할 수 있다.
>>> a = [1, 2, 3]
>>> a[1] = "c"
>>> a
[1, 'c', 3]
리스트 요소 제거
del함수는 객체를 제거하는 함수다.
del 객체이름
del 리스트[idx]함수는 특정 인덱스의 요소 값을 제거한다.
>>> a = [1, 2, 3, 4, 5, 6]
>>> del a[2]
>>> a
[1, 2, 4, 5, 6]
[시작위치:종료위치]를 사용하여 특정 인덱스 범위의 요소를 제거할 수 있다.- 범위에서 시작 위치의 요소는 포함되고, 종료 위치의 요소는 포함하지 않는다.
시작 위치 <= 리스트 요소 < 종료 위치
>>> a = [1, 2, 3, 4, 5, 6]
>>> del a[1:3]
>>> a
[1, 4, 5, 6]