1. 리스트와 이차원리스트
리스트는 여러 데이터를 저장할 수 있는 자료형이다.
다음과 같은 형태를 가지고 있다.
리스트변수 = [ idx1, idx2, idx3 ]
이차원리스트는 리스트 안에 리스트를 넣은 것
행(row)과 열(column)로 이루어진 데이터이다.
리스트변수 = [
[ idx1, idx2, idx3 ],
[ idx1, idx2, idx3 ],
[ idx1, idx2, idx3 ]
]
리스트변수[행idx][열idx]
2. 리스트 특징
▶ 리스트는 순서가 중요하다. (인덱스 값)
- 리스트의 요소를 넣으면 각 요소가 순서대로 번호(인덱스 값)을 가지게 된다.
- 인덱스 값은 0부터 시작한다.
▶ 인덱스 값으로 항목 검색 가능
▶ 새로운 항목 추가/삭제 가능
▶ 숫자형, 문자열 혼합하여 값을 넣을 수 있다.
3. 리스트 만드는 방법
▶ 리스트명 = [ 요소 ]
이렇게 대괄호를 사용하여 리스트를 만들 수 있다.
데이터의 자료형은 꼭 같아야 하는 건 아니다.
2,3번 라인의 출력 결과이다.
name을 출력하면 전체 리스트가 출력되고,
인덱스값을 이용해서 원하는 값을 출력할 수 있다.
그냥 빈 [ ]만 사용한다면 아무 값도 저장되지 않은 리스트가 생성된다.
▶ list() 함수 사용
list([ 요소 1, 요소 2 ])와 같은 형식으로 사용한다.
4. 리스트, 이차원리스트 인덱싱
인덱싱은 리스트의 인덱스 값에 저장된 개별 데이터에 접근하는 것이다.
리스트 인덱싱 : 리스트명[ idx ]
이차원리스트 인덱싱 : 리스트명[ idx : idx ]
num [1] = 2, eng [2] = 'c'로 2 c 가 출력됨
text [2][0] = 'c'로 c만 출력됨
5. 리스트 슬라이싱
슬라이싱은 범위를 지정해서 그 사이의 값을 가져오는 것.
형식 : 리스트명[ idx : idx ] (idx는 인덱스 값)
범위 : idx <= 값 < idx
dog 리스트를 만들고 인덱스값 0:3을 지정해 줬다.
인덱스 값이 0번인 보더콜리부터 값이 2번인 말티즈까지 나왔다. ( 0 <= dog < 3 )
6. 리스트 값수정, 삭제, 연산
▶ 값수정
리스트[idx] = 값
인덱스 값으로 접근하여 값을 수정할 수 있다.
인덱스 값으로 접근한다면, 인덱스 값을 넘는 값을 수정할 수 없다.
인덱스 값 0번을 "진돗개"로 수정
0번 값이 진돗개로 수정되었다.
이렇게 리스트의 값을 수정할 때, 인덱스 값을 넘는 부분을 수정하려고 하면
IndexError 발생
▶ 값삭제
del 리스트[인덱스값]
del 리스트[idx : idx] : 리스트 슬라이싱으로 여러 값 삭제 가능
1. idx값 0번 삭제
2. idx값 [1:3] 삭제
1. 0번 삭제
2. 이후 1번, 2번 삭제
▶ 값연산
+, * 연산자를 통해서 연산가능
+ : 리스트 합치기
* : 리스트 반복
이런 결과를 얻을 수 있다.
7. 이차원리스트 값추가, 수정, 삭제
▶ 값추가
열 추가 : 리스트[열인덱스] + [값]
행 추가 : 리스트 + [ [ 값 ] ]
▶ 값수정
리스트[idx][idx] = 값
▶ 행삭제
del 리스트[idx]
▶ 열삭제
del 리스트[idx][idx]
8. 메서드를 사용한 추가
extend() : 맨 마지막에 리스트 확장
append() : 맨 마지막 행에 리스트 추가
insert() : 원하는 위치에 행 삽입
▶ extend()
값을 맨 뒤쪽에 풀어서 리스트의 행을 확장시킨다.
▶ append()
값을 맨 뒤쪽에 그대로 추가한다.
특정 행에 값을 하나씩 추가할 수 도 있다.
▶ insert()
리스트.insert[행]. insert(열, 추가값)
리스트.insert(행, 추가값)
'Python' 카테고리의 다른 글
[Python] while문 for문(리스트내포, 딕셔너리, 리스트 , 이중for문) (2) | 2024.12.06 |
---|---|
[Python] if문, elif문, else문, 중첩조건문 (0) | 2024.12.02 |
[Python] 문자열 포매팅 (1) | 2024.11.27 |
[Python] 파이썬 자료형 형변환 (1) | 2024.11.25 |
[Python] 연산자, 비교연산자, 논리연산자, in연산자 (0) | 2024.11.24 |