Python - 리스트(List) 기초 문법
여러개의 데이터를 연속적으로 담아서 처리한다.
리스트의 초기화
- [] 안에 원소를 넣어 초기화
- 리스트의 원소에 접근할 때는 인덱스 값을 괄호에 넣어서 접근 가능
직접 데이터를 넣어 초기화
array = [1, 3, 5, 6, 7, 8]
print(array)
>>> [1, 3, 5, 6, 7, 8]
array[1] = 4
print(array)
>>> [1, 4, 5, 6, 7, 8]
크기가 N이고, 모든 값이 0인 1차원 리스트 초기화
n = 0
array = [0] * n
print(array)
>>> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
인덱싱(Indexing)
- 인덱스 값을 입력하여 리스트의 득정한 원소에 접근
- 파이썬의 인덱스 값은 양의 정수, 음의 정수 다 가능
- 음의 정수를 넣으면 원소를 거꾸로 탐색
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 여덟 번째 원소만 출력
print(a[7])
>>> 8
# 뒤에서 첫 번째 원소 출력
print(a[-1])
>>> 9
# 두 번째 원소 값 변경
a[1] = 20
print(a)
>>> [1, 20, 3, 4, 5, 6, 7, 8, 9]
슬라이싱(Slicing)
- 리스트에서 연속적인 위치를 갖는 원소들을 가져올 때 사용
- 시작 인덱스 : 끝 인덱스
- 끝 인덱스는 실제 인덱스보다 1을 더 크게 설정
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 두 번째 원소부터 네 번째 원소까지 출력
print(a[1:4])
>>> [2, 3, 4]
리스트 컴프리헨션(Comprension)
- 리스트를 초기화하는 방법 중 하나
- 대괄호 안에 조건문과 반복문을 적용하여 리스트를 초기화 할 수 있다.
# i라는 변수가 0~9까지 반복문을 돌 때 i의 값을 원소로 설정하겠다는 의미
array = [i for i in range(10)]
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 0부터 19까지의 수 중 홀수만 포함하는 리스트
array = [i for i in range(20) if i % 2 == 1]
>>> [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
# 1부터 9까지의 수들의 제곱 값을 포함하는 리스트
array = [i * i for i in range(1, 11)]
리스트 컴프리헨션과 일반적인 코드 비교
# 0 부터 19까지의 수 중에서 짝수만 포함하는 리스트
a = [i for i in range(20) if i % 2 == 0]
>>> [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
# 0 부터 19까지의 수 중에서 짝수만 포함하는 리스트
array = []
for i in range(20):
if i % 2 == 0:
array.append(i)
>>> [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
N X M 크기의 2차원 리스트를 초기화할 때 효과적으로 사용
# 좋은 예시
array = [[0] * m for _ range(n)] # n번 반복될 때마다 길이가 m인 리스트 생성
# 잘못된 예시
array = [[0] * m] * n # 전체 리스트 안에 포함된 각 리스트가 모든 같은 객체로 인식
# N X M 크기의 2차원 리스트 초기화
n = 4
m = 6
array = [[0] * m for _ in range(n)]
>>> [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]
array[1][1] = 5
>>> [[0, 0, 0, 0, 0, 0], [0, 5, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]
# 잘못된 예시
n = 4
m = 6
array = [[0] * m] *n
>>> [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]]
array[1][1] = 5
>>> [[0, 5, 0, 0, 0, 0], [0, 5, 0, 0, 0, 0], [0, 5, 0, 0, 0, 0], [0, 5, 0, 0, 0, 0]]
# [1][1] 만 바껴야 하는데 전체적으로 바뀜
언더바(_) 는 언제 사용?
- 파이썬에서는 반복을 수행하되 반복을 위한 변수의 값을 무시하고자 할 때 사용
# 1부터 9까지의 자연수를 더하기
summary = 0
for i in range(1, 10):
summary += i
>>> 45
# "Hello World" 5번 출력
for _ in range(5):
print('Hello World')
>>>Hello World
>>>Hello World
>>>Hello World
>>>Hello World
>>>Hello World
Author And Source
이 문제에 관하여(Python - 리스트(List) 기초 문법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@qudalsrnt3x/파이썬-List저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)