데이터 분석/Python

[이론] 데이터 구조- 리스트, 인덱싱, 슬라이싱

toraa 2025. 1. 6. 23:04

3. 데이터구조

  • 리스트(list)
  • 튜플(tuple), 문자열(str)
  • 사전(dictionary)
  • 배열(array)

리스트,튜플,문자열, 사전은 파이썬 내부

배열은 외부라이브러리

 

3.1 리스트

파이썬에서 가장 기본으로 사용하는 구조

(다른언어는 배열이 기본, 파이썬은 리스트가 기본)

데이터간 연결되어있어 사용자가 하나 데이터에 접근하면 연결된 여러 데이터에 접근가능

 

무조건 첫번째 순서 데이터에 접근할 수 있음

중간 데이터 부터 접근x → 순서대로 가야하기 때문에 데이터접근 속도가 느리다는 단점

 

데이터 수정, 추가 가능 (가변 시퀀스)

 

리스트 생성

빈 리스트: []

쉼표로 구분 : [a], [a,b,c]

리스트 컴프리헨션 : [x for x in iterable]

내장 함수 생성자 : list() or list(iterable)

 

★리스트의 메서드

append(x) : x를 맨뒤에 추가

extend(x) : x를 구조 내에 이어 붙이기

sort() : 내부 요소 정렬

reverse() : 내부 요소 반대로 정렬

pop() : 마지막 순서 항목 반환후 리스트에서 제거

clear() : 모든 항목 제거

count(x) : x가 리스트에 나타나는 횟수 반환

instert(i,x) : i순서에 x를 삽입

 

3.2 인덱싱과 슬라이싱

1) 인덱싱

데이터구조[인덱스]로 원하는 데이터에 접근

a = [  ]

a[ ] 인덱싱으로 데이터 접근

[ ]에 들어가는 데이터접근 ‘기준’마다 다양 (ex. 순서, key값 등)

 

음수는 역방향 인덱싱 : …, -5, -4, -3, -2, -1

(순서대로 데이터 보관되어있을때 가능.

음수는 맨 마지막 데이터를 찾을 수 있음)

 

2) 슬라이싱

데이터구조[시작인덱스:끝인덱스]로 범위 지정후 데이터 가져옴

시작 인덱스 0은 생략 가능

끝인덱스 -1만큼 접근

 

del a[ ] :인덱스에 접근하여 삭제