본문 바로가기
  • soobinhand의 기술 블로그
Computer Science/Python

[Python] 리스트

by soobinhand 2021. 11. 21.
728x90

리스트

  • 여러 개의 데이터를 연속적으로 담아 처리하는 자료형입니다.
  • JAVA의 배열, Array라고 생각하면 됩니다. (물론 훨씬 리스트가 기능이 많습니다.)
  • 배열 혹은 테이블이라고 부르기도 합니다.
  • 대괄호에 넣어서 초기화합니다.
  • 쉼표로 원소를 구분합니다.
  • 언제나 그랬듯이, index는 0부터 시작합니다.
#직접 데이터를 삽입하여 초기화하는 방법
arr = [1,2,3,4,5,6,7,8,9,10]
print(a)
print(a[2])

#크기가 n이고 모든 값이 0인 1차원 리스트 초기화
n = 10
a = [0] * n
print(a)

# print 결과
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
3
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

 

 

인덱싱

  • 인덱스 값을 입력하여 리스트의 특정한 원소에 접근하는 것입니다.
a = [1,2,3,4,5,6,7,8,9,10]
print(a[5])
print(a[-1])
a[3] = 100
print(a)

# print결과
6
10
[1,2,3,100,5,6,7,8,9,10]

 

슬라이싱

  • 리스트에서 연속적인 위치를 갖는 원소들을 가져와야 할 때 사용합니다.
  • [] 안에 :를 넣어서 시작 인덱스와 끝 인덱스 설정이 가능합니다.
  • 끝 인덱스는 포함하지 않습니다.
a = [1,2,3,4,5]
print(a[1:3])

# print 결과
[2,3]

 

리스트 컴프리헨션(Comprehension)

  • 리스트를 초기화하는 방법 중 하나입니다.
  • 대괄호 안에 조건문이나 반복문을 써서 리스트를 초기화합니다.
  • 2차원 리스트를 초기화할 때 효과적입니다.
# 0부터 9
a = [i for i in range(10)]
print(a)

# 0부터 19
a = [i for i in range(20) if i % 2 == 1]
print(a)

# 1부터 9
a = [i*i for i in range(1,10)]
print(a)

# n * m 크기의 2차원 리스트 초기화
n = 4
m = 3
a = [[0] * m for _ in range(n)]
print(a)

# print 결과
[0,1,2,3,4,5,6,7,8,9]
[1,3,5,7,9,11,13,15,17,19]
[1,4,9,16,...,81]
[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]

 

리스트 관련 메소드

  • list.append(3) - 리스트에 원소 하나 삽입
  • list.sort() or list.sort(reverse=True) - 오름차순 내림차순 정렬
  • list.reverse() - 리스트의 원소의 순서를 뒤집음
  • list.insert(삽입할 인덱스, 삽입할 값) - 특정 위치에 원소 삽입
  • list.count(3) - 리스트 내 특정 값을 가지는 데이터의 갯수 셈
  • list.remove(3) - 특정 값 제거, 그 값이 여러개면 하나만 제거
728x90

'Computer Science > Python' 카테고리의 다른 글

[Python] 집합  (0) 2021.11.23
[Python] 딕셔너리(사전)  (0) 2021.11.23
[Python] 튜플  (0) 2021.11.23
[Python] 문자열  (0) 2021.11.23
[Python] 숫자형  (0) 2021.11.16

댓글