본문 바로가기
Development/Python

[Python] 파이썬 예제 - 데이터 형식 - 리스트 List

by 푸민 2020. 9. 10.
반응형

안녕하세요 푸민입니다.

리스트는 각종 데이터들을 한번에 여러개를 가지고 있는 변수 입니다. 예를들어 숫자 데이터들을 가지고 있거나, 문자들을 가지거나 아니면 객체 자체를 가지고 있을수도 있습니다.


1. 리스트 생성 - []

>>> list = list()
>>> list
[]
>>> list1 = [1, 2, 3, 4, 5]
>>> list1
[1, 2, 3, 4, 5]
>>> list2 = ['My', 'name', 'is', 'Fumin']
>>> list2
['My', 'name', 'is', 'Fumin']
>>> list3 = []
>>> list3
[]
>>> list4 = [1, 2, ['I', 'am', 'Fumin']]
>>> list4
[1, 2, ['I', 'am', 'Fumin']]

일반적으로 리스트 생성은 list() 또는 list3과 같이 [] 로 빈 리스트를 생성합니다. 요소를 가지고 생성시에는 [] 괄호 안에 요소들을 작성해주면 됩니다. 또한 [] 괄호 안에 [] 괄호가 생기면 이중 리스트가 됩니다.


2. 리스트 인덱싱, 슬라이싱

이전에 문자열 처리와 같이 리스트도 인덱싱과 슬라이싱이 가능합니다.

  • 인덱싱
>>> list = [1, 2, 3]
>>> list[1]
2
>>> list[0] + list[2]
4
>>> list1 = [1, 2, ['I', 'am', 'Fumin']]
>>> list1[2]
['I', 'am', 'Fumin']
>>> list1[2][1]
'am'

문자열에서 사용한것과 같에 [] 괄호를 이용하여 순서의 숫자를 입력하면 해당 순서의 값을 반환합니다. 그리고 2중 리스트의 경우 [][] 괄호를 두번 사용하여 데이터를 가져옵니다.

  • 슬라이싱
>>> list = [1, 2, 3, 4, 5]
>>> list[1:3]
[2, 3]
>>> list1 = [1, 2, 3, ['I', 'am', 'Fumin']]
>>> list1[3][1:]
['am', 'Fumin']

문자열과 같이 원하는 범위의 [] 괄호를 입력해주면 됩니다. 그리고 이중의 경우 똑같이 list1과 같이 사용하면 됩니다.


3. 리스트 연산 - 더하기 (+), 반복 (*), 길이 ( len )

>>> list = [1, 2, 3, 4, 5]
>>> list1 = ['I', 'am', 'Fumin']
>>> list + list1
[1, 2, 3, 4, 5, 'I', 'am', 'Fumin']
>>> list * 2
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
>>> len(list + list1)
8

리스트를 더하면 각각이 가진 데이터를 한 리스트로 묶어서 반환합니다. 그리고 * 곱하기 연산자를 사용하면 해당 수만큼 반복을 합니다. 문자열과 같이 len() 함수를 사용하면 해당 리스트의 길이를 반환합니다.


4. 리스트 추가, 수정, 삭제 - append, insert, del, remove

>>> list = [1, 2, 3, 4, 5]
>>> list[2] = 10;
>>> list
[1, 2, 10, 4, 5]
>>> del list[2]
>>> list
[1, 2, 4, 5]
>>> list.append(9)
>>> list
[1, 2, 4, 5, 9]
>>> list.insert(2, 10)
>>> list
[1, 2, 10, 4, 5, 9]
>>> list.remove(1)
>>> list
[2, 10, 4, 5, 9]

리스트에 들어있는 값을 수정하고 싶으면 []로 해당 값에 접근한뒤 다른 값을 대입해주면 됩니다. 그리고 삭제를 원하면 del() 함수를 사용하여 특정 위치의 값을 삭제할 수 있습니다.

append 함수를 사용하면 리스트 마지막에 데이터를 추가할 수 있습니다. insert 함수를 사용하면 특정 위치에 데이터를 추가할 수 있습니다.

remove 함수를 사용하면 해당 위치의 값을 삭제합니다.


5. 리스트 정렬 - reverse, sort

>>> list = [1, 2, 3, 4, 5]
>>> list.reverse()
>>> list
[5, 4, 3, 2, 1]
>>> list.sort()
>>> list
[1, 2, 3, 4, 5]

reverse() 함수를 사용하면 리스트의 값을 내림차순으로 바꾸고, sort()를 사용하면 오름차순으로 정렬합니다.


6. 리스트 위치 찾기, 갯수 세기 - index, count

>>> list = [1, 2, 3, 4, 5]
>>> list.index(3)
2
>>> list.index(0)
Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    list.index(0)
ValueError: 0 is not in list
>>> list.count(2)
1

index() 함수를 사용하고 값이 있으면 해당 위치를 없으면 에러를 반환한다.

count 함수를 사용하면 해당 데이터가 몇개가 있는지 갯수를 반환한다.


7. 리스트 데이터 꺼내기 - pop

>>> list = [1, 2, 3, 4, 5]
>>> list.pop()
5
>>> list
[1, 2, 3, 4]

pop 함수를 사용하면 리스트의 마지막 데이터를 꺼내고 리스트에서는 삭제합니다.


8. 리스트 확장 - extend

>>> list = [1, 2, 3, 4, 5]
>>> list.extend(['I', 'am', 'Fumin'])
>>> list
[1, 2, 3, 4, 5, 'I', 'am', 'Fumin']

extend 함수를 사용하면 리스트를 확장한다. extend의 인수로는 리스트 형태만 올수 있다.

반응형

댓글