Python 입문 | 리스트, 튜플, 레인지, 세트, 사전 | 시퀀스 기능


목록 등의 “여러 값을 한꺼번에 처리한다"라는 것은 매우 유용하지만, 그러나 처음부터 고정된 수의 요소 밖에 사용할 수 없다면 조금 융통성이 없어 보인다.

하지만 염려하지 말자. 목록에는 요소를 추가하거나 제거하는 기능이 제대로 마련되어 있다.

그 대부분은 “순서"에 포함되어 있는 기능이다. 즉, 리스트, 튜플, 범위 중에서도 사용할 수 있는 기능이라는 것이다. 그럼 시퀀스의 기본적인 기능에 대해 정리해 보자.

새로운 요소를 추가

목록.append(값)

목록의 가장 마지막에 값을 추가한다.

지정된 인덱스 위치에 값을 삽입

목록.insert(인덱스, 값)

목록의 지정된 인덱스 번호의 위치에 값을 삽입한다.

지정된 값을 제거

목록.remove(값)

지정된 값을 목록에서 제거한다.

지정된 인덱스 번호의 요소 제거

del 목록 [번호]

목록 정해진 번호의 값을 제거하는 것이다. 이것은 del 후에 목록 삭제하는 인덱스 번호를 지정하여 작성한다. del 다음에, () 필요 없다.

여기까지 “추가”, “삽입”, “삭제"라는 것은 시컨스라고 해도 목록 밖에 대응되지 않는다. 왜냐하면, 이것은 목록 수정하는 작업이기 때문이다. 튜플과 레인지는 불변 객체 (변경 불가)이므로 이러한 작업은 할 수 없다.

이후에는 3개의 컨테이너에 공통되는 것이다. “시퀀스 전반에서 사용할 수 있는 기능"이다.

컨테이너의 덧셈

변수 = 컨테이너 + 컨테이너

목록과 튜플은 “+“로 덧셈을 할 수 있다. 2개의 컨테이너를 1개에 연결한 것을 만들 수 있다. 레인지는 수열이라는 이유로 해당하지 않는다.    

컨테이너의 곱셈

변수 = 컨테이너 * 정수

컨테이너의 값을 지정한 수 만큼 연결 한 것을 만든다. 예를 들어, 아래와 같다.

[1, 2, 3] * 3
↓
[1, 2, 3, 1, 2, 3, 1, 2, 3]

인덱스의 범위를 반환

변수 = 컨테이너[시작 값:종료 값]

인덱스 번호로 지정된 범위의 값을 꺼내기 위한 것이다. 예를 들어, [2:5]라고 하면 2~5의 인덱스 번호의 요소를 컨테이너에서 반환한다.

   

값이 포함되어 있는지?

값 in 컨테이너
값 not in 컨테이너

이것은 값이 컨테이너에 포함되어 있는지 여부를 확인한다. 결과는 부울이다. in은 값이 포함되어 있으면 True, 없으면 False이다. not in 반대로 포함되어 있으면 False, 없으면 True이다.

요소의 개수 얻기

변수 = len(컨테이너)

그 컨테이너에 몇개의 값이 저장되어 있는지를 정수로 반환한다.

최대 값, 최소값 얻기

변수 = max(컨테이너)
변수 = min(컨테이너)

컨테이너에 저장되어 있는 값 중에서 가장 큰 것, 가장 작은 것을 찾아서 반환한다.

대충 이것들을 사용해 리스트 내의 요소를 사용할 수 있게 되면 매우 편리하다.

아래에 간단한 사용 예를 들어 둡니다.

arr = ['hello','bye'] 
arr.append('finish!') 
arr.insert(1, 'welcome') 
arr.remove('bye') 
for n in arr: 
    print(n)

목록 arr에 새로운 값을 추가하거나 삭제한 결과를 출력한다. 최초의 입력한 목록과는 대부분 저장된 값이 변화하고 있는 것을 알 수 있을 거다.