1. 기본개념
- 형식은 []로 묶은 데이터 배열
- 맴버로 int, float, list도 수용
- 여러데이터가 모여있는 객체(5.내부함수 참조)
>>> list1 = [1, "hello", [1,2,3]]
>>> type(list1)
<class> 'list'>
# 인덱싱
>>> list1[0]
1
>>> list1[-1]
[3] # 음수입력가능, 뒤에서부터 시작
# 길이
>>> len(list1)
3
# in, not in
>>> "hello" in list1
True
>>> 3 not in list1
True
2. 연산
# 덧셈
>>> [1,2,3] + [4,5]
[1,2,3,4,5]
# 곱셈
>>> [1,2,3] * 2
[1,2,3,1,2,3]
3. 슬라이싱 연산
- 양식 : list[IDX1 : IDX2 : 증감값], 증감값 생략가능(Default : 1)
- list[IDX1] ~ list[IDX2 - 1] 의 리스트, 증감값만큼 IDX 건너뜀
>>> st = [1,2,3,4,5,6,7,8,9]
>>> st[2:5] # st[2]~st[4], st[2:5:1]
[3,4,5] # type(list)
>>> st[2:5:2] # 증감값 2
[3,5]
>>> st[:3] # 시작 ~ st[2]
[1,2,3]
>>> st[2:] # st[2] ~ 끝
[3,4,5,6,7,8,9]
>>> st[:] # 전체
[1,2,3,4,5,6,7,8,9]
# 수정
>>> st[2:5] = [0,0,0]
>>> st
[1,2,0,0,0,6,7,8,9]
# 추가
>>> st[len(st):] = [10] # 인덱싱으론 안된다 (st[len(st)] = 10 > ERROR)
>>> st[:0] = [0]
>>> st
[0,1,2,0,0,0,6,7,8,9,10]
# 리스트 데이터 삭제
>>> st[:] = []
>>> st
[]
# 디폴트값
>>> st = [1,2,3,4]
>>> st_1 = st[::1] # 증감:1 > 초기값:0, 종료값:-1
>>> st_1
[1,2,3,4]
>>> st_2 = st[::-1] # 증감:-1 > 초기값:-1, 종료값:0
>>> st_2
[4,3,2,1]
4. 관련함수
# len, min, max
>>> st = [3,2,7,5]
>>> len(st)
4
>>> max(st) # 리스트중 최대값
7
>>> min(st) # 리스트중 최소값
2
# min, max는 하나의 자료형으로 이루어진 리스트에만 사용가능
>>> st_com = [1, 'a']
>>> min(st_com)
ERROR
# del
>>> st = [1,2,3,4,5]
>>> del st[3:]
>>> st
[1,2,3]
>>> del st # 리스트 st 자체를 삭제
5. 내부함수
- 리스트는 객체이며, 선언시 저장한 데이터 외에 기본적인 내장함수를 가지고 있다.
- s.append(x) : 리스트 s의 끝에 x를 추가
- s.extend(t) : 리스트 s의 끝에 리스트 t의 내용 전부를 추가
- s.clear : 리스트 s의 내용물 전부 삭제
- s.insert(i, x) : s[i]에 x를 저장
- s.pop(i) : 리스트에서 s[i] 삭제하고 s[i] 값 반환
- s.remove(x) : 리스트 s에서 처음 등장하는 x를 하나만 삭제
- s.count(x) : 리스트 s에 등장하는 x의 개수 반환
- s.index(x) : 리스트 s에 처음 등장하는 x의 인덱스 값 반환
- s.sort() : 리스트 s의 내용을 정렬. 여러 데이터 타입이 섞인 리스트에는 사용할 수 없다.
6. sort by key
- sort( key[, reverse )
- key : 정렬의 기준이 되는 값을 정하는 함수
>>> def ignore_case(s) :
return s.casefold() # 모든문자를 소문자로 변경
>>> a_list = [ 'john', 'paul', 'George', 'brian', 'Ringo' ]
>>> a_list.sort(key=ignore_case)
[ 'brian', 'George', 'john', 'paul', 'Ringo' ] # 대소문자 구분없이 정렬됨
'Python > 기초이론' 카테고리의 다른 글
| Python - 튜플 (0) | 2022.12.25 |
|---|---|
| Python - for, while (0) | 2022.12.24 |
| Python - if (0) | 2022.12.24 |
| Python - 문자열 (0) | 2022.12.10 |
| Python - 기본이론 (0) | 2022.12.05 |