[Python] 배열(array, list)

뽕칠이·2024년 1월 10일

배열

  • 파이썬에서의 배열(array)은 리스트(list)라고도 한다.
  • 하나의 배열 안에 여러 자료형들을 넣고 원소들끼리의 순서가 존재하여 인덱스를 통해 접근할 수 있는 자료형이다.

기본적인 리스트 선언

# 빈 리스트 선언
lst1 = []
lst2 = list()

# 5개의 원소가 들어있는 리스트
lst3 = [1, 2, 3, 4, 5]

# int형, str형, bool형, list형 자료형 모두 하나의 리스트에 존재할 수 있다.
lst4 = [1, 2, "안녕", 4, "Hi", , 6, True, [1, 2]]

인덱싱

lst = [1, 2, 3, 4, 5]

# 인덱싱
lst[0]	# 1
lst[3]	# 4

# 음수를 통해서도 인덱싱 가능
lst[-1]	# 5

슬라이싱

  • "나눈다"라는 의미를 가진다.
  • list[시작지점: 종료지점: 간격]의 형태로 작성할 수 있다.
    시작지점 생략 : 0번째 원소부터 종료지점까지 간격에 맞춰 접근
    종료지점 생략 : 시작지점부터 마지막 원소까지 간격에 맞춰 접근
    간격 생략 : 시작지점부터 종료지점까지 1의 간격으로 접근

이 때 종료지점에 해당하는 원소는 접근하지 않는다.

lst = [1, 2, 3, 4, 5]

lst[0:4:2]	# [1, 3]
lst[:2]		# [1, 2]
lst[2:]		# [3, 4, 5]
lst[1:5]	# [2, 3, 4, 5]

리스트 연산

  • 같은 타입의 원소끼리의 연산은 가능하지만, 다른 타입의 원소끼리는 연산이 불가능하다.
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]

lst3 = lst1 + lst2		# [1, 2, 3, 4, 5, 6]
lst4 = lst1 * 3			# [1, 2, 3, 1, 2, 3, 1, 2, 3]
lst5 = lst1 + "Hello"	# error

리스트의 길이

  • len()이라는 메소드를 사용
lst = [1, 2, 3]

len(lst)		# 3

리스트 수정

lst = [1, 2, 3, 4]
lst[0] = 10

lst					# [10, 2, 3, 4]

리스트 원소 추가

lst = [1, 2, 3, 4]
# 마지막 인덱스 뒤에 5를 추가
lst.append(5)

lst					# [1, 2, 3, 4, 5]

# 0번째 인덱스에 6을 추가
lst.insert(0, 6)

리스트 원소 삭제

lst = [1, 2, 3, 4, 5]

# 인덱스로 제거
del lst[0]

lst 				# [2, 3, 4, 5]

del lst[:2]

lst					# [5]

# 모든 원소 제거
lst.clear()			# []

lst = [4, 5, 6, 7]

# 원소값으로 제거
lst.remove(5)

lst					# [4, 6, 7]

리스트 정렬

lst1 = [1, 2, 6, 5, 4, 3]

lst1.sort()

lst1					# [1, 2, 3, 4, 5, 6]

lst2 = [4, 3, 5, 2, 1]

sorted(lst2)			# [1, 2, 3, 4, 5]

# lst2의 값은 그대로이다.
lst2					# [4, 3, 5, 2, 1]

# 내림차순 정렬
lst1.sort(reverse=True)

lst1					# [6, 5, 4, 3, 2, 1]

리스트 역순

lst = [4, 2, 3, 1]

lst.reverse()

lst						# [1, 3, 2, 4]

리스트 위치 반환

lst = [1, 2, 3]

lst.index(2)			# 3

리스트 원소값 꺼내기

lst = [1, 2, 3, 4]

lst.pop()				# 4

lst						# [1, 2, 3]

리스트 원하는 원소의 개수 세기

lst = [1, 2, 3, 4, 3, 4]

lst.count(3)			# 2

0개의 댓글