일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- read_html
- seaborn
- ML기초
- 노인무임승차
- 배열의 유사도
- 파이썬 그래프
- matplotlib.pyplot
- AI SCHOOL
- 지하철적자원인
- AISCHOOL8기
- 멋사AI스쿨
- axes-level
- 핸즈온머신러닝
- 통계그래픽
- 구글colab
- ML
- 중복된 문자제거
- 상관계수분석
- AISCHOO8기
- 파이썬데이터타입
- Seaborn 튜토리얼
- 멋쟁이사자처럼
- RandomForest
- figure-level
- 미드프로젝트
- fromkeys
- 배열 회전시키기
- 시각화
- 머신러닝
- pandas로 그래프
- Today
- Total
코린이 성장일기
[python]자료형 - List 본문
3. List ([ ])
여러가지 정보(데이터)가 관리하기 쉽도록 순서를 정해서 나열된 것이다. 비어있는 것, 숫자, 문자 모든 데이터가 나열되어 저장될 수 있다.
>>> a = []
#비어있는 리스트는 a = list() 로도 만들 수 있다.
>>> b = [1, 2, 3]
>>> c = ['Life', 'is', 'too', 'short']
>>> d = [1, 2, 'Life', 'is']
>>> e = [1, 2, ['Life', 'is']]
각 요소는 문자열과 동일하게 인덱싱을 적용할 수 있다. 이중, 삼중 리스트에서 인덱싱도 가능하다. 문자열과 동일하게 슬라이싱도 가능.
예시 :
b[0] = 1
c[2] = 'too'
e[-1][1] = 'is'
#1 리스트 연산
리스트 연산에서는 리스트 안의 타입이 같아야 TypeError가 발생하지 않는다.
- 더하기(+)
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]
- 곱하기(*)
>>> a = [1, 2]
>>> a * 3
[1, 2, 1, 2, 1, 2]
- 길이구하기(len())
>>> a = [1, 2, 3]
>>> len(a)
3
#2 리스트 수정과 삭제
인덱싱을 통해 검색, 접근, 수정, del 함수를 통해 삭제가 가능하다
- 수정하기
>>> a = [1, 2, 3]
>>> a[0] = -1
>>> a
[-1, 2, 3]
- 삭제하기
>>> a = [1, 2, 3, 4, 5]
>>> del a[2:]
>>> a
[1, 2]
#3 리스트 관련 함수
변수 이름 뒤에 '.'를 붙여서 여러가지 관련 함수를 사용할 수 있다.
- list.append(x) : 리스트의 끝에 요소(x) 추가
>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
- list.insert(a, b) : 특정 위치(a: index)에 요소(b) 추가
>>> a = [1, 2, 3]
>>> a.insert(0, 4)
>>> a
[4, 1, 2, 3]
- list.remove(x) : 특정 요소(x) 제거
>>> a = [1, 2, 3, 1, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 3]
- 여러개 있을 경우, 맨 처음 값 제거
- 없을 경우 에러
- list.pop() : 요소 끄집어내기
>>> a = [1,2,3]
>>> a.pop()
3
>>> a
[1, 2]
- 맨 뒤에 있는 값은 사라지고, 그 값을 반환함
- 특정 요소를 반환하면서 삭제하고자 하면, 인덱스 번호로 사용할 수 있다. (예) a.pop(1)은 a[1]의 값을 끄집어내 리턴하고 삭제한다.
- list.extend(list2) : 리스트에 list2를 연결(확장)
>>> a = [1,2,3]
>>> a.extend([4,5])
>>> a
[1, 2, 3, 4, 5]
>>> b = [6, 7]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7]
- list.sort() : 정렬
>>> a = [7, 1, 0]
>>> a.sort()
>>> a
[0, 1, 7]
- list 내부의 자료형이 통일되어 있어야 함.
- sort는 원본 데이터를 정렬하기 때문에 리턴값이 없다. 리턴값을 원할 경우, sorted()함수를 사용해야 함.
- 기본적으로 오름차순으로 정렬, 내림차순으로 정렬하고자 할 때는 reverse옵션을 사용해야 한다. (예: 내림차순 정렬 - list.sort(reverse=True))
- 알파벳은 대문자~소문자 순으로 정렬된다 : 아스키코드 값에 대응하여 정렬(A=65, a=97)
- list.count(x) : 리스트에 요소 x의 개수 세기
>>> a = [1,1,3,1,2]
>>> a.count(1)
3
- list.index(x) : x의 위치(인덱스) 값 반환
>>> a = [1,2,3,4,5]
>>> a.index(4)
3
>>> a.index(1)
0
- list.reverse() : 뒤집기
>>> a = [100, 200, 300]
>>> a.reverse()
[300, 200, 100]
- list.copy() : 리스트 복사
>>> a = [10, 20, 30]
>>> b = a.copy()
>>> b
[10, 20, 30]
- b = a를 하면, 주소값이 동일하게 복사 되어 둘 중 하나를 변경하면 둘 다 변경된다.
- b = a.copy()를 사용하면 주소값이 변경되어 요소는 같지만 아예 다른 리스트로 사용할 수 있다.
출처 : 점프 투 파이선(wikidocs.net/14), https://blockdmask.tistory.com/425
'programming > 파이썬' 카테고리의 다른 글
[python] Pandas - loc, iloc, map, applymap, apply (0) | 2023.01.19 |
---|---|
[python]자료형- 숫자형, 문자열 (0) | 2022.12.23 |