본문 바로가기

Coding, Testing, Challenge/python-basic

Python 리스트 메소드

728x90

이번 포스팅에서는 리스트를 활용하는 방법으로 리스트 관련 각종 메소드에 대해서 알아보도록 하겠습니다.

 

첫 번째는 in입니다.

in은 특정 요소가 리스트 내부에 존재하는지를 알려주는 메소드입니다.

사용법은 아래와 같습니다.

찾고자 하는 요소 in 리스트명

다음의 코드를 보겠습니다.

1~10까지 10개의 요소를 가지고 있는 리스트 num1에 대해서,

리스트 내부에 요소 내부에 1이 있는지, 리스트 내부에 요소 11이 있는지를 알아보는 코드입니다.

 

결과를 보면

1 은 리스트 num1 내부에 존재하므로 True가

11은 리스트 num1 내부에 존재하지 않으므로 False가 출력됩니다.

 

그렇다면 리스트 내부에 없는지를 확인하려면 어떻게 해야 하는지 보겠습니다.

바로 논리 연산자 not과 함께 사용하는 방법인데요.

사용법은 아래와 같습니다.

찾고자 하는 요소 not in 리스트명

다음의 코드를 보겠습니다.

1~10까지 10개의 요소를 가지고 있는 리스트 num2에 대해서,

리스트 내부에 요소 내부에 1이 없는지, 리스트 내부에 요소 11이 없는지를 알아보는 코드입니다.

결과를 보면 첫 번째의 결과와 반대로

1 은 리스트 num1 내부에 존재하므로 False가

11은 리스트 num1 내부에 존재하지 않으므로 True가 출력됩니다.

 

다음은 리스트 함수 포스팅에서 잠깐 나왔던 다중 리스트, Nested List라고도 불리는 방법에 대해서 알아보겠습니다.

포스틴에서 insert함수에 대해서 설명하면서 한번 나왔던 것인데, 리스트는 다른 리스트를 요소로 받을 수 있습니다.

그렇다면 요소로 저장된 리스트를 활용하려면 인덱스를 어떻게 해야 할까요?

다음과 같이 사용하면 리스트 속의 리스트의 요소에 대해서 접근, 변경 등이 가능합니다.

리스트명[가장 바깥쪽 인덱스][내부 리스트의 인덱스]

코드를 보면서 정리해보면

1, 2, 3으로 이루어진 리스트와 4, 5, 6으로 이루어진 리스트를 요소로 가지는 

num_nest라는 리스트에 대해서

첫 번째로는 0번 인덱스를, 두 번째로는 [0][2]의 위치의 값을 출력하는 코드입니다.

결과를 보면

0번의 인덱스만 가져오면 0번 자리의 리스트 요소인 [1, 2, 3]이 모두 출력되고,

[0][2] 인덱스를 가져오면 0번 자리의 리스트 요소인 [1, 2, 3]에 대해서 

인덱스 [2]의 위치를 가지는 값인 3을 출력하게 되는 것입니다.

이처럼 다중 리스트에 대해서도 인덱스의 조합으로 손쉽게 필요한 데이터를 편집, 삭제가 가능해집니다.

 

 

 

다음은 reverse 메소드입니다. 

sort, sorted의 reverse, reversed와는 다른 메소드입니다.

sort, sorted의 reverse, reversed 옵션은 정렬의 방향성에 대한 방법이며,

이 reverse 메소드는 정렬과 상관없이 현재 리스트 자체를 역순으로 위치를 변경하는 방법입니다.

사용하는 방법은 아래와 같습니다.

리스트.reverse()

다음의 코드를 보면

정렬되지 않은 리스트 nun_rev에 대해서 기존의 정리 순서를 출력하고,

reverse를 통해서 리스트 자체를 정렬 없이 역순으로 돌리는 것입니다.

결과를 보면

리스트가 기존과 반대로 역순으로 배열되어 출력되는 것을 확인할 수 있습니다.

 

특정한 요소가 있는 인덱스의 값을 알고 싶을 때 쓰는 방법으로 index가 있습니다.

index는 요청한 요소가 첫 번째로 존재하는 인덱스 값을 리턴합니다.

사용방법은 다음과 같습니다.

리스트명.index(찾고자 하는 요소)

코드를 통해서 보면 첫 번째 인덱스 함수는 3의 값을 가지는 요소의 인덱스 위치를 ,

두 번째 인덱스 함수는 9의 값을 가지는 요소의 인덱스 위치를 나타냅니다.

 

 

결과를 보면, 3의 경우는 num_inx에 있으므로 인덱스 위치인 2가 출력되었고,

9의 경우는 num_inx내부에 없기 때문에 이렇게 에러가 발생합니다.

마지막으로 remove에 대해서 알아보겠습니다.

remove는 특정한 요소를 리스트에서 삭제하는 역할을 하고 있습니다.

사용법은 다음과 같습니다.

리스트명,remove(삭제하고 싶은 값)

다음의 코드를 보면

1에서 10까지의 요소를 가지고 있는 리스트에 대해서 remove를 통해서 7을 삭제하는 코드입니다.

 

결과를 보면 

기존의 리스트에서 7이 삭제된 것을 확인할 수 있습니다.

단 여기서 주의하실 점은 remove로 제거되는 값은 리스트에 존재하는 모든 동일 값 중

인덱스 번호가 가장 빠른 1개의 요소만을 삭제한다는 것입니다.

이렇게 이번 포스팅에서는 리스트를 활용할 수 있는 각종 메소드 및 사용법을 알아보았습니다.

포스팅에 사용된 코드들은 아래 파이썬 파일과 동일합니다. 참고해 주세요

test_16.py
0.00MB

 

다음 포스팅에서는 Python의 for문에 대해서 알아보겠습니다.

 

 

'Coding, Testing, Challenge > python-basic' 카테고리의 다른 글

Python 사전형 자료형(dictionary)  (0) 2021.01.03
Python for문과 range문  (0) 2021.01.02
Python 리스트 정렬  (0) 2020.12.31
Python 리스트 함수  (0) 2020.12.30
Python 리스트  (0) 2020.12.29