인생은 여행 人生は旅

파이썬 - 리스트 자료형 2(반복,길이,del,append) 본문

코딩 공부

파이썬 - 리스트 자료형 2(반복,길이,del,append)

하늘빛 칵테일 2024. 2. 27. 10:55

리스트 반복하기(*)

>>> a = [1, 2, 3]
>>> a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

위에서 볼 수 있듯이 [1, 2, 3] 리스트가 세 번 반복되어 새로운 리스트를 만들어 낸다. 문자열에서 "abc" * 3 = "abcabcabc" 가 되는 것과 같은 이치이다.

 

리스트 길이 구하기

리스트 길이를 구하기 위해서는 다음처럼 len 함수를 사용해야 한다.

>>> a = [1, 2, 3]
>>> len(a)
3

len은 문자열, 리스트 외에 앞으로 배울 튜플과 딕셔너리에도 사용할 수 있는 함수이다.  자주 사용하므로 잘 기억해 두자.

 

초보자가 범하기 쉬운 리스트 연산 오류

다음 소스 코드를 입력했을 때 결괏값은 어떻게 나올까?

>>> a = [1, 2, 3]
>>> a[2] + "hi"

a[2]의 값인 3과 문자열 hi가 더해져서 3hi가 출력될 것이라고 생각할 수 있다. 하지만 다음 결과를 살펴보니 오류가 발생했다. 오류의 원인은 무엇일까?

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

a[2]에 저장된 값은 3이라는 정수인데 "hi"는 문자열이다. 정수와 문자열은 당연히 서로 더할 수 없기 때문에 오류가 발생한 것이다.

만약 숫자와 문자열을 더해서 '3hi'를 만들고 싶다면 다음처럼 숫자 3을 문자 '3'으로 바꾸어야 한다.

Copy>>> str(a[2]) + "hi"
3hi

str은 정수나 실수를 문자열로 바꾸어 주는 파이썬의 내장 함수이다

 

del 함수를 사용해 리스트 요소 삭제하기

>>> a = [1, 2, 3]
>>> del a[1]
>>> a
[1, 3]

del a[x]는 x번째 요솟값을 삭제한다. 위에서는 a 리스트에서 a[1]을 삭제했다. del 함수는 파이썬이 자체적으로 가지고 있는 삭제 함수이며 다음과 같이 사용한다.

del 객체

객체란 파이썬에서 사용되는 모든 자료형을 말한다.

다음처럼 슬라이싱 기법을 사용하여 리스트의 요소 여러 개를 한꺼번에 삭제할 수도 있다.

>>> a = [1, 2, 3, 4, 5]
>>> del a[2:]
>>> a
[1, 2]

a[2:]에 해당하는 리스트의 요소들이 삭제되었다.

 

리스트에 요소 추가하기 - append

append의 사전적 의미는 ‘덧붙이다, 첨부하다’이다. 이 뜻을 안다면 다음 예가 바로 이해될 것이다. append(x)는 리스트의 맨 마지막에 x를 추가하는 함수이다.

>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]

리스트 안에는 어떤 자료형도 추가할 수 있다. 다음 예는 리스트에 다시 리스트를 추가한 결과이다.

Copy>>> a.append([5, 6])
>>> a
[1, 2, 3, 4, [5, 6]]

 

새로운 명령어들과 방법들이 계속해서 추가추가되는듯한 느낌이네요 ^^

명령어 자체는 익숙한 영어들이라 그렇게 어렵진 않은듯 하면서도 어렵네요 ㅎㅎ