Development/Python

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

푸민 2020. 9. 10. 15:00
반응형

안녕하세요 푸민입니다.

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


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의 인수로는 리스트 형태만 올수 있다.

반응형