본문 바로가기
Software/Python

[파이썬의 기본] 리스트(Lists)

by lovey25 2019. 2. 12.
반응형

리스트

리스트(Lists)는 파이썬의 구조체입니다. 인덱싱된 요소들을 시리즈로 저장하는 역할을 합니다.

 

리스트 선언

대괄호([ ])로 둘러싸고 쉼표(,)로 요소 요소를 구분해서 리스트를 생성합니다. 그리고 요소의 시작 인덱스는 "0"부터 시작됩니다. 형태와 사용법이 C++의 배열과 유사하네요.

예제:

>>> numbers = [5, 7, 10]
>>> print(numbers[0])
5
>>> print(numbers[2])
10

그런데 특이하게도 리스트는 요소들의 타입이 서로 다른경우도 허용하고 있습니다.

예제:

>>> number=5
>>> allthing=[33, “string”, [0,1,number], 3.14]
>>> print(allthing[2][2])
5

문자열에 대해서 리스트와 동일하게 기능하기도 합니다. 이 역시 C++과 유사점이네요.

예제:

>>> string = “This is string”
>>> print(string[5])
s

 

리스트의 다양한 기능들

in 

리스트에 해당요소의 유무를 확인

예제:

>>> numbers = [1,3,5,7]
>>> print(3, in numbers)
True
>>> print(2, in numbers)
False

append

리스트 마지막에 요소 추가

예제:

>>> numbers = [1,3,5,7]
>>> numbers.append(9)
>>> print(numbers)
[1,3,5,7,9]

len

리스트의 길이를 반환

예제:

>>> numbers = [1,3,5,7]
>>> print(len(numbers))
4

insert

리스트 특정 위치에 요소 추가

예제:

>>> numbers = [1,3,5,7]
>>> numbers.insert(2, 4)
>>> print(numbers)
[1,3,4,5,7]

index

리스트에서 요소를 검색하고 일치하는 첫번째 요소의 인덱스를 반환

예제:

>>> numbers = [1,3,5,7]
>>> print(numbers.index(5))
2

max, min

리스트에서 최대 최소값을 반환

예제:

>>> numbers = [1,3,5,7]
>>> print(max(numbers))
7
>>> print(min(numbers))
1

count

리스트에 해당요소가 몇개가 있는지 반환

예제:

>>> numbers = [1,3,5,7]
>>> numbers.count(3)

remove

해당요소를 삭제

예제:

>>> numbers = [1,3,5,7]
>>> numbers.remove(3)

reverse

요소를 반전

예제:

>>> numbers = [1,3,5,7]
>>> numbers.reverse()

 

리스트 자르기 (list slices)

말 그대로 리스트를 지정위치를 기준으로 잘라서 새로운 리스트를 만드는 기능입니다.

다음과 같이 리스트뒤에 대괄호로 3가지 파라미터를 입력하는 형태로 리스트 자르기를 사용할 수 있습니다.

구문:

리스트이름[parma1:param2:param3]

param1: 잘라낼 부분의 앞부분 (빈칸 원본 리스트의 맨처음)

param2: 잘라낼 부분의 뒷부분 (빈칸이면 원본 리스트의 맨뒤)

param3: 잘라낼 리스트의 간격 (생략가능하고 생략할 경우 기본값은 1)

param1과 param2만 사용하고 param3을 생략하면 param1위치에서 param2위치까지의 원소로 이루어진 새로운 리스트를 생성합니다.

예제:

>>> squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> print(squares[2:6])
[4, 9, 16, 25]
>>> print(squares[3:8])
[9, 16, 25, 36, 49]
>>> print(squares[0:1])
[0]

param2와 param3에는 음수를 사용할 수 있고 이경우에는 리스트의 뒤에서부터 위치를 계산합니다.

예제:

>>> sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> print(sqs[7:5:-1])
[49, 36]

 

끝!

반응형

댓글