일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 회로이론
- 델
- cURL
- 코드업
- 선적분
- 소행성
- 신경망
- 강화학습
- 자바
- auto-encoder
- 계단 오르기
- 미분 방정식
- BST
- Class
- 자료형
- 피보나치 수열
- 이진탐색트리
- 백트래킹
- 파이썬
- 2P1L
- java
- 함수
- dictionary
- 최단 경로
- 딥러닝
- 벡터 해석
- Asteroid RL
- 벡터해석
- 딕셔너리
- Today
- Total
Zeta Oph's Study
[Python 기초 문법] 리스트(List) 본문
학점인정시험 프로그래밍 기초 과목 준비... 2주의 기적 가자ㅏ
Python은 아마 그냥 제가 정리하기 위한 용도로 글을 쓸거 같아서, 설명이 많이 없고 코드가 많을 것 같습니다.
선언, 인덱싱 및 슬라이싱
a = [1, 2, 3]
b = [3.14, 2.71, -0.01, 256]
c = [1, 2, 'asdf', 'qwer']
d = [1, 2, ['asdf', 'qwer']]
e = []
f = list()
모든 자료형을 포함할 수 있고,
자료형 혼합도 가능하다.
리스트를 원소로 가지는 리스트도 가능하다.
e, f : 비어있는 리스트 선언 방법
인덱스는 다른 프로그래밍 언어와 같이 0부터 시작, 음수 인덱스는 뒤에서부터 (예 : -1 인덱스는 가장 뒤의 원소)
print(d[0])
print(d[-1])
print(d[-1][0])
TERMINAL
1
['asdf', 'qwer']
asdf
슬라이싱 : 리스트를 자르는 방법
[i:j]로 슬라이싱하면, [i, j)로 구간이 설정된. (끝점 포함 X)
print(b[1:])
print(d[2][:1])
TERMINAL
[2.71, -0.01, 256]
['asdf']
리스트 연산
더하기 연산 (+) : 리스트 두 개 이어 붙이기
반복 연산 (*) : 리스트를 반복하여 이어 붙이기
길이 구하기 : len() 함수 이용
최댓값/최솟값 찾기 : max() / min() 함수 이용
합 구하기 : sum() 함수 이용
a = [1, 2, 3]
b = [4, 5]
a = a + b
print(a)
a = a * 3
print(a)
print(len(a))
print(max(a), min(a))
print(sum(a))
TERMINAL
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
15
5 1
45
반복 연산은 숫자를 앞에 두어도 동일하게 실행된다.
합 연산은 수를 나타내는 자료형만 가능하지만, boolean의 경우 True는 1, False는 0으로 계산된다.
리스트 수정 및 삭제
수정 : 인덱스 지정하여 수정할 값 대입
삭제 : del 함수 이용
a = [1, 2, 3, 3]
a[3] = 4
print(a)
del a[:2]
print(a)
TERMINAL
[1, 2, 3, 4]
[3, 4]
*주의 사항 : del 함수는 결과를 대입하는 방식이 아니다. 즉, b = del a[:2]와 같이 실행할 수 없다.
리스트 관련 함수
리스트 변수 이름 뒤에 .함수 를 붙여서 사용한다. 따로 어떤 값을 반환한다고 명시하는 경우가 아니면, 아래 함수들은 모두 del 함수처럼, 결과를 대입하는 방식이 아니다.
리스트 요소 추가 : a.append(x)
리스트 a의 맨 뒤에 x를 추가
a = [1, 2, 3, 4]
a.append(5)
print(a)
TERMINAL
[1, 2, 3, 4, 5]
리스트 정렬 : a.sort(reverse=False, key=<function>)
리스트 a를 정렬함 (기본은 오름차순)
key=<funtion>을 통해 정렬 기준 설정 가능 (ex)key=len : 길이로 정렬)
a = [3, 5, 1, 2, 4]
a.sort(reverse=True)
print(a)
TERMINAL
[5, 4, 3, 2, 1]
리스트 뒤집기 : a.reverse()
리스트 a의 순서를 뒤집음
a = [1, 2, 3, 4, 5]
a.reverse()
print(a)
TERMINAL
[5, 4, 3, 2, 1]
인덱스 반환 : a.index(x)
리스트 a 안에 x가 포함되어 있을 경우, x의 인덱스 반환 (없으면 오류 발생)
a = [1, 2, 3, 4, 5]
print(a.index(3))
TERMINAL
2
리스트 요소 삽입 : a.insert(i, x)
리스트 a의 인덱스 i 위치에 x 삽입
a = [1, 2, 4, 5]
a.insert(2, 3)
print(a)
TERMINAL
[1, 2, 3, 4, 5]
리스트 요소 삭제 : a.remove(x)
리스트 a에서 가장 앞에 있는 x만 삭제 (x가 여러개 있더라도 가장 앞에 있는 것만)
a = [1, 2, 3, 1, 2]
a.remove(1)
print(a)
TERMINAL
[2, 3, 1, 2]
리스트 요소 끄집어 내기 : a.pop(pos=-1)
리스트 a에서 a[pos]를 끄집어 내어 반환. 이때 리스트 a에서 a[pos]는 삭제된다.
a = [1, 2, 3, 4, 5]
print(a.pop(2))
print(a)
TERMINAL
3
[1, 2, 4, 5]
리스트에 포함된 요소 개수 세기 : a.count(x)
리스트 a에 있는 x의 개수를 반환
a = [1, 2, 3, 1, 2, 1]
print(a.count(1))
TERMINAL
3
리스트 확장 : a.extend(b)
a = a + b와 같은 역할. 이때 b는 리스트여야만 한다.
a = [1, 2, 3]
a.extend([4, 5])
print(a)
TERMINAL
[1, 2, 3, 4, 5]
사실 이거 말고도 더 많은데, 이 정도만 정리하는걸로...
'프로그래밍 > Python' 카테고리의 다른 글
[Python 기초 문법] 클래스 (Class) (1) (2) | 2024.03.03 |
---|---|
[Python 기초 문법] 사전 (Dictionary) (1) | 2024.03.03 |
[Python 기초 문법] 집합 (Set) (1) | 2024.03.02 |
[Python 기초 문법] 문자열(String) (1) | 2024.03.02 |
[Python 기초 문법] 함수 (Function) (0) | 2024.02.21 |