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

+ Recent posts