1. 리스트란?
: 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용하는 자료형이다.
C언어, 자바와 같은 프로그래밍 언어의 '배열' 기능을 포함하고 있으며 내부적으로는 연결리스트 구조
2. 리스트 만들기
: 리스트는 대괄호([ ])안에 원소를 넣어 초기화하며, 쉼표로 원소를 구분한다. 이때 인덱스(원소를 담는 칸의 번호)는
0번부터 시작한다.
ex )
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a) // 결과 : [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a[4]) // 결과 : 5
# 빈 리스트 선언방법
a = list() // 결과 : [ ]
a = [ ] // 결과 : [ ]
# 크기가 N이고, 모든 값이 0인 1차원 리스트 초기화
n = 10
a = [0] * n
print(a) // 결과 : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
3. 리스트의 인덱싱과 슬라이싱
: 인덱스값을 입력하여 리스트의 특정한 원소에 접근한 것을 인덱싱이라고 한다. 파이썬의 인덱스값은 양수, 음수를 모두 사용할 수 있으며, 음의 정수를 넣으면 원소를 거꾸로 탐색하게 된다.
ex)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a[-1]) // 결과 : 9
print(a[-3]) // 결과 : 7
a[3] = 7 // print(a) 시 [1, 2, 3, 7, 5, 6, 7, 8, 9]
: 리스트에서 연속적인 원소들을 가져와야 할 때는 슬라이싱(Slicing)을 이용할 수 있다.
이때는 대괄호 안에 콜론 ( : ) 을 넣어서 시작 인덱스와 (끝 인덱스 -1)로 설정한다.
ex)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a[1:4]) // 결과 : [2, 3, 4]
4. 리스트 컴프리헨션(List Comprehension)
: 리스트 컴프리헨션은 리스트를 초기화하는 방법 중 하나이다. 리스트 컴프리헨션을 이용하면 대괄호([]) 안에
조건문과 반복문을 넣는 방식으로 리스트를 초기화할 수 있다.
ex)
0부터 19까지의 수 중에서 홀수만 포함하는 리스트
array = [ i for i in range(20) if i % 2 == 1] // i를 넣을 것인데, i의 범위는 0부터 20이며, i를 2로 나눈 나머지 1
print (array) // [ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
참고로 리스트 컴프리헨션이 아닌 일반적인 선언은 다음과 같이 표현할 수 있다.
array = [] // 빈 리스트 선언
for i in range(20) : // 반복문인데 i를 따로 선언 안해줘서 0부터 시작한다
if i % 2 == 1 : // %는 mod연산으로 나머지를 구해준다.
array.append(i) // python에 있는 함수. append()는 리스트에 원소를 하나 삽입할 때 사용한다. (편해!)
print(array)
ex)
1부터 9까지의 제곱 수를 리스트에 넣어주려고 한다. 리스트 컴프리헨션으로 표현해보자.
array = [ i * i for i in range(1, 10) ] // if문은 따로 넣어주지않았으며 range()에서 1, 10을 통해 1~10
print(array) // [ 1, 4, 9, 16, 26, 36, 49, 64, 81]
※ 이러한 리스트 컴프리헨션은 2차원 리스트를 초기화할 때 매우 효과적으로 사용될 수 있다.

※ 참고자료
이것이 취업을 위한 코딩 테스트다 with 파이썬_ 나동빈
'프로그래밍 > Python' 카테고리의 다른 글
| Python 입출력 ( sys.stdin.readline( ), sys.stdout.write( ) ) (0) | 2023.07.18 |
|---|---|
| 파이썬 속성문법_자료형(리스트_2) + 리스트 메서드 (0) | 2020.11.16 |
| 파이썬 속성문법_자료형(정수, 실수편) (0) | 2020.11.10 |