Small Grey Outline Pointer Python :: 컬렉션 - List
본문 바로가기
Dev./Python

Python :: 컬렉션 - List

by sso. 2022. 6. 29.

컬렉션-데이터를 수집

알고리즘 
문제를 해결하기 위한 순서 또는 절차

[빵집]
반죽 -> 발효-> 굽기 -> 데코 -> 포장 -> 판매


자료구조
의미 없는 데이터가 자료구조를 통과하는 순간 하나의 정보가 된다

10
age = 10


데이터를 저장공간에 담는 순간 하나의 정보가 된다


list
num1=13450
...
num100=2134324

이런식으로 변수를 쓰면 램 메모리에 총 100개의 저장공간이 할당 된다
이렇게 쓰면 추후에 변수를 사용할 때 불편하다
변수를 많이 쓰면 쓸 수록 이름이 많아지기 때문에 사용에 불편이 초래. 이름에 규칙성이 없기 때문에 (age, name 등)
변수를 100번 선언하지말고, 100칸 짜리 리스트를 한번 선언하자!
프로그램이 실행하고 나서도 메모리에 할당되는 크기가 변한다 => 동적 메모리 




1. 변수를 여러번 선언하지 않고 여러칸 list를 한번만 선언하기 위해 사용한다

변수를 선언하면, 값이 한개만 담기고 이름도 반드시 붙여야 한다
여러 변수를 선언하면 이름도 많아져서 관리하기 불편하다
따라서 list는 이름이 하나, 각 값을 방 번호(인덱스)로 접근하기 때문에 값을 관리하기 훨씬 편하고 쉽다


2. 규칙성이 없는 값에 규칙성을 부여하기 위해서

"홍길동" "지우개" "핫도그" "배고파" "맛있어"
6개의 str 타입
0부터 5까지 1씩 증가 (list에 담으면 규칙성이 생긴다)



list 선언
list명 = [값1, 값2...] #내가 넣은 값 만큼 할당 됨
list명 = [값] * 칸수 #내가 시작부터 칸 수를 정할 수 있다
list명 = [] #초기값

list 길이
len(list명)

list 사용

dataList = [1,2,3]
-값 넣기


(추가)
dataList.append(4)
>> [1, 2, 3, 4]

(삽입)
dataList.insert(인덱스번호, 값)
dataList.insert(1,1.5)
>>[1, 1.5, 2, 3]

-값 삭제
dataList.remove(값)
[1,2,3,1].remove(1)
>>[2,3,1] #중복 되는 값을 다 없애는것이 아니라 제일 첫번째로 만난 해당하는 값을 없앤다



 


 

 

del dataList[인덱스번호]
del dataList[1]
>>[1,3]

dataList.clear()
모든 값 삭제

-값 검색
dataList.index(값)
dataList.index(3) #해당 값의 인덱스 번호를 가져온다. 중복시 좌에서 우 방향으로 가장 먼저 만난 값의 인덱스번호를 가져온다
>>[2]

-값 수정
dataList[인덱스번호] = 새로운 값
dataList[0] = 10
>> [10,2,3]

 


for문 사용

0, ?, 1 --> ?로 사용 가능
for i in range(len(list명)) : 
list명[i] #리스트의 각 요소
# length를 그대로 넣어주게 되면 인덱스 번호로 접근하게 된다 

빠른 for문(향상된 for문, forEach문)

for i in list명
i #리스트의 각 요소
# 인덱스 번호가 필요 없고, 값을 바로 가져오고 싶을 때 사용하면 좋다

값의 유무 확인
값 in list명 : 조건식 (참 또는 거짓의 값) list안에 값이 있으면 True
값 not in list명 : list안에 값이 없으면 True

728x90

'Dev. > Python' 카테고리의 다른 글

python :: 튜플과 레인지  (0) 2022.07.01
python :: if ~ elif~ else / 연산자 예제  (0) 2022.06.30
Python :: list형 데이터  (0) 2022.06.21
Python :: 함수 / *args  (0) 2022.06.21
Python :: 연산자 우선순위와 결합성  (0) 2022.06.19

댓글