veggie의 기술기록
[Python] 리스트 본문
● 알고리즘 : 문제를 해결하는 데 사용하는 일련의 규칙 또는 단계
● 자료 구조 : 컴퓨터에서 자료를 구성하는 특별한 방법
● 컬렉션 자료형 : 컬렉션 자료형이란 여러 가지 요소를 하나로 묶어 사용하는 데이터 타입이다. 컬렉션은 하나의 변수에 많은 값을 넣을 수 있고 그래서 유용하다.
● 리스트 : 리스트는 컬렉션의 일종이다. 리스트 상수는 대괄호로 둘러싸여있고 리스트의 원소는 반점으로 구분된다. 리스트는 파이썬의 어떤 객체도 원소로 넣을 수 있다. (심지어 다른 리스트를 넣는 것도 가능하다!) 당연히 빈 리스트도 생성 가능하다.
1
2
3
4
5
6
7
8
9
10
11
|
>>> print([1, 24, 76])
[1, 24, 76]
>>> print(['red', 'yellow',
'blue'])
['red', 'yellow', 'blue']
>>> print(['red', 24, 98.6])
['red', 24, 98.6]
>>> print([ 1, [5, 6], 7])
[1, [5, 6], 7]
>>> print([])
[]
|
cs |
문자열과 마찬가지로, 대괄호를 이용한 인덱스로 리스트의 원소 하나하나를 가져올 수 있다. ex)friends[1]
또한 리스트는 인덱스 연산자를 사용하여 요소를 변경할 수 있다.
1
2
3
4
5
6
|
>>> lotto = [2, 14, 26, 41, 63]
>>> print(lotto)
[2, 14, 26, 41, 63]
>>> lotto[2] = 28
>>> print(lotto)
[2, 14, 28, 41, 63]
|
cs |
리스트의 길이는 len()함수를 이용해서 측정할 수 있다. len()함수는 아무 시퀀스를 받아도 원소의 개수를 반환한다.
range함수를 이용해 0부터 매개변수로 넣은 값보다 1 작은 범위의 수까지로 구성된 숫자 리스트를 구성할 수 있다.
for문과 정수 반복자를 통해 인덱스 루프를 구성할 수 있다.
1
2
3
4
5
6
|
>>> print(range(4))
[0, 1, 2, 3]
>>> friends = ['Joseph', 'Glenn', 'Sally']
>>> print(len(friends))
3>>> print(range(len(friends)))
[0, 1, 2]
|
cs |
기존에 존재하는 두 리스트를 더하여 새로운 리스트를 생성할 수도 있다. (+연산자 사용)
슬라이싱을 이용할 수도 있는데, 문자열과 마찬가지로 괄호 안의 두번째 숫자 직전까지만 포함한다! ex)list[1:3]=>1,2번째만 슬라이싱 됨.
● 리스트 처음부터 만들기 : 빈 리스트를 만들고 append 메서드를 이용하여 원소를 추가한다. 리스트 안은 순서가 유지되고 새 원소는 리스트 끝에 추가된다.
1
2
3
4
5
6
7
8
|
>>> stuff = list()
>>> stuff.append('book')
>>> stuff.append(99)
>>> print(stuff)
['book', 99]
>>> stuff.append('cookie')
>>> print(stuff)
['book', 99, 'cookie']
|
cs |
● 리스트 원소 탐색 : in 연산자를 이용해 특정 원소가 리스트에 있는지 확인할 수 있다. 논리값을 반환한다.
● 리스트에는 순서가 있음 : 원소가 추가된 순번대로 순서를 유지하나 sort()메서드를 이용해 정렬할 수 있다. list.sort()를 하면 오름차순으로, list.sort(reverse=True)를 하면 내림차순으로 정렬할 수 있다.
● 파이썬에는 리스트를 매개 변수로 받는 내장 함수가 여러가지 있다. ex)sum(), min()
● split()함수는 문자열을 작게 나누고 문자열로 구성된 리스트를 생성한다.
1
2
3
4
5
|
>>> thing = line.split(';')
>>> print(thing)
['first', 'second', 'third']
>>> print(len(thing))
3>>>
|
cs |
위 코드는 ;를 구분자로 문자열을 나누는 코드이다. 이렇게 문장을 나눌 때 어떤 구분자를 사용할지 정할 수 있다.
아무것도 넣지 않는다면 공백으로 여겨진다.
'IT_Python' 카테고리의 다른 글
[Python] 튜플 (0) | 2022.09.17 |
---|---|
[Python] 딕셔너리 (0) | 2022.09.14 |
[Python] 파이썬에서 파일 처리하기 (0) | 2022.08.16 |
[Python] 'NoneType' object has no attribute 'append' (1) | 2022.08.16 |
[Python] 문자열 (0) | 2022.08.10 |