세모이
개발 계발
세모이
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • 알고리즘 (1)
    • 자바스크립트 (29)
    • 리액트 (10)
    • HTML&CSS (2)
    • TIL (26)
    • 파이썬 (8)
    • Dev (1)
    • 데일리 (3)
      • 2023 (3)
    • 에러일기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 리액트 key
  • 모던 자바스크립트 deep deive
  • 자바스크립트
  • 자바스크립트 깊은 복사 얕은 복사
  • 함수
  • 자바스크립트 전역 변수의 문제점
  • &&연산자
  • 모던 자바스크립트
  • html 신기한 태그
  • 자바스크립트 생성자 함수에 의한 객체 생성
  • 옵셔널 체이닝
  • 개발자 도구 Network
  • 자바스크립트 프로퍼티 어트리뷰트
  • 모던 자바스크립트 deep dive
  • 시멘틱 태그
  • 자바스크립트 strict mode
  • const let 키워드와 블록레벨 스코프
  • 자바스크립트 함수와 일급 객체
  • 자바스크립트 빌트인 객체
  • 자바스크립트 프로토타입

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
세모이

개발 계발

(쓰면서 익히는 알고리즘과 자료구조) chapter1. 배열
파이썬

(쓰면서 익히는 알고리즘과 자료구조) chapter1. 배열

2021. 9. 16. 16:55
반응형

배열

1.1 배열이란?

연속적인 메모리 공간에 저장된 아이템의 집합을 표현하는 자료구조

파이썬에서 배열 사용 방법으로는 리스트(여러 타입을 하나의 자료구조에 담을 수 있음)와 Array(초기화 하는 시점에 정해진 하나의 타입만) 모듈이 있다

1.2 파이썬에서 배열(리스트 사용법)

1.2.1 리스트(List)

여러 타입의 요소를 가질 수 있음

  • 리스트 초기화
py_list_empty=[]
py_list=[1,2,3,4,5]
# 0을 10개 가지는 리스트 초기화
py_list_zeros_1=[0 for i in range(10)]
py_list_zeros_2=[0]*10

 

  • 리스트 요소 추가 및 삭제
# 추가 - append() 
py_list=[1,2,3,4,5]
py_list.appned(6)   #[1,2,3,4,5,6]
py_list_1=[1,2,3]
py_list_2=[4,5,6]
py_list_1.append(py_list_2) #[1,2,3,[4,5,6]]

# 확장 - extend()
py_list_1=[1,2,3]
py_list_2=[4,5,6]
py_list_1.extend(py_list_2) #[1,2,3,4,5,6]

# 추가 - insert()
py_list=[1,2,3]
py_list.insert(3,4) #3번째 위치에 4 요소를 추가한다 [1,2,3,4]

# 삭제 - remove()
py_list=[1,2,3,2,4]
py_list.remove(2)   # list에는 중복된 값이 있을 수 있고 여러 값들 중에 가장 앞선 인덱스의 요소가 삭제[1,3,2,4]

# 삭제 - clear()
py_list=[1,2,3]
py_list.clear() #[]

# 삭제 - del
py_list=[1,2,3]
del py_list[1]  #[1,3]

 

-  리스트의 요소 접근
파이썬에서는 인덱스로 접근하는 방법과 슬라이싱으로 잘라 접근하는 방법도 제공

py_list= [1,2,3,4,5,6,7,8,9,10]
py_list[9] #10
py_list[-1] # 10
py_list[3]  # 4
py_list[-7] # 4

 

- 슬라이싱 방법

 

 

1.2.2 Array 모듈
파이썬에서는 배열 접근을 단순히 래퍼(Wrapper)하여 지원하는 Array 모듈을 제공
Array 모듈은 한 번 설정한 타입의 용소만 추가 / 삭제가 가능

- Array 모듈을 통한 초기화
파이썬에서는 import 문을 사용하여 해당 모듈을 추가해야 함

리스트와는 다르게 초기화에서 해당 배열 타입을 결정해야 함

# array 모듈을 사용할 것이며, 해당 모듈은 arr의 이름으로 접근
import array as arr

# 정수형 배열을 생성, 초깃값으로 [1,2,3]을 가진다.
int_array = arr.array('i',[1,2,3])

 

- Array 모듈을 통한 삽입 / 삭제

import array as arr

# 정수형 배열을 생성, 초깃값으로 [1,2,3]을 가진다.
int_arr = arr.array('i',[1,2,3])

print("elements in array :", end="")
for i in range(0, len(int_arr)):
    print(int_arr[i], end=" ")
print()

# 1의 위치에 4의 값을 추가
int_arr.insert(1,4)

print("elements after insertion : ", end=" ")
for i in (int_arr):
    print(i, end=" ")
print()

# 1의 값을 찾아 제거

int_arr.remove(1)

print("elements after delete \`1\` in array : ", end=" ")
for i in(int_arr):
    print(i, end = " ")
print()

#result
#elements in array :1 2 3 
#elements after insertion :  1 4 2 3 
#elements after delete \`1\` in array :  4 2 3

 

- Array 모듈을 통한 배열 접근 및 값 업데이트

import array as arr

int_list= [1,2,3,4,3,6,7,4,5,10]

# list의 요소를 배열로 변환
int_arr = arr.array('i', int_list)

print("elements in array : ")
for i in (int_arr):
    print(i, end=" ")
print()

# 3의 값이 가장 처음 나타나는 배열의 인덱스를 출력
print("The index of 1st occurrence of 3 is : ", end = "")
print(int_arr.index(3))

print("The index of 1st occureence of 1 is : ", end = "")
print(int_arr.index(1))

# 배열 4번째 요소의 값을 5로 업데이트
int_arr[4]=5
print("elements after updation : ", end ="")
for i in (int_arr):
    print(i, end= " ")
print()

# result
# elements in array : 
# 1 2 3 4 3 6 7 4 5 10 
# The index of 1st occurrence of 3 is : 2
# The index of 1st occureence of 1 is : 0
# elements after updation : 1 2 3 4 5 6 7 4 5 10
반응형

'파이썬' 카테고리의 다른 글

7. 파이썬 엑셀 파일 읽고 쓰기  (0) 2021.02.07
6. 파이썬 예외(python exception)  (0) 2021.02.07
5. 파이썬 모듈(python module)  (0) 2021.01.30
4. 파이썬 클래스 (python class)  (0) 2021.01.29
3. 파이썬 함수(python function)  (0) 2021.01.29
    '파이썬' 카테고리의 다른 글
    • 7. 파이썬 엑셀 파일 읽고 쓰기
    • 6. 파이썬 예외(python exception)
    • 5. 파이썬 모듈(python module)
    • 4. 파이썬 클래스 (python class)
    세모이
    세모이
    개발 공부!

    티스토리툴바