주소: 첫번째 글자가 쓰여진 시작 주소
인덱스: 데이터가 작성되기 시작한 곳(주소)로부터 떨어진 상대적 주소
인덱스가 들어가 있는 변수들은 다른 구조를 중간에 넣을 수 없다.
하지만 리스트에서는 예외적으로 삭제와 삽입이 가능하다.
리스트는 배열을 포함하는 넓은 범위: 순차, 리스트 두 가지 구조가 있다.
C와 달리 파이썬은 음수 인덱스가 가능하다. -> 리스트의 끝점을 찾을 수 있음
cf) 런타임 -> 런타임 다시 시작(전체 실행을 중단한다.)
1. 슬라이싱
slice는 새로운 리스트를 만든다.
list1 = [1,2,3,4,5]
print(list1) #list형
print(list1[3]) #int형
print(list1[1:2]) # list형, 새로운 리스트 만듦
print(list1[1:5])
[1, 2, 3, 4, 5]
4
[2]
[2, 3, 4, 5]
출력
슬라이싱은 왼쪽(시작점)에서 오른쪽(끝점) 으로만 간다.
print(list1[-1:-2])
결과: []
따라서 위 코드는 제대로 실행되지 않는다.
실행하게 하려면 방향(-1)을 뒤에 붙인다.
print(list1[:])
print(list1[::-1])
print(list1[-1:-2:-1])
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
[5
print(list1[-1:])
print(list1[-1::-1]) # 역순으로 했을 때 시작점은 항상 -1이다.
[5]
[5, 4, 3, 2, 1
print(list1[:-1])
print(list1[:-1:-1])
print()
print(list1[::2]) # 홀수
print(list1[1::2]) # 짝수
print()
list2=list1[:]
print(list1 == list2) # 값은 같으나
print(list1 is list2) # 주소가 다름
[1, 2, 3, 4]
[]
[1, 3, 5]
[2, 4]
True
False
DDD
슬라이싱에만 해당되는 룰
DDD
하지만 주로 슬라이싱은 reverse 기능으로 쓴다
2. LIST 기능들
1) append(값): 리스트 끝에 값 추가
lst = []
lst2 = []
# list의 instance를 만듦
lst.append(10)
# [10]
lst.append(20)
# [10,20]
lst.append("10")
print(lst)
# [10,20, '10']
2) extend()
절대로 값을 넣을 수 없다.
값들을 개별적으로 나눠서 리스트에 넣는다.
3) insert(인덱스, 값)
4) pop() : 삭제 연산, list 입장에서 데이터를 꺼낸다.
기본적으로 끝에서부터 꺼낸다. (오른쪽에서 왼쪽으로)
5) remove(특정값)
특정 값에 해당되는 내용을 삭제
완전한 삭제를 할거면 remove, 값을 꺼내려고 하면 pop을 쓸 것.
6) clear
리스트의 모든 값들을 삭제한다.
7) cout(특정값)
특정값이 몇 개 있는지 갯수가 나온다.
8) index(특정값)
앞의 인덱스만 나온다.
9) reverse & sort
모든 객체 지향 프로그래밍 언어에서 호용되는 개념
덩어리를 객체라고 부르고
객체 안에 담긴 기능을 메소드라고 부른다.
클래스는 객체를 찍어내는 기계이다.
3. 차원
주머니 개념으로 생각하자
list로 행렬을 사용할 때 에러 사항이 있다.
-> 파이썬에서 C언어의 배열처럼 넌파이라는 것을 이용하면 된다.
'Programming Language > Python' 카테고리의 다른 글
[파이썬] DAY3 함수 (0) | 2022.01.18 |
---|---|
[파이썬] DAY3 리스트(열거형) & 튜플 & 딕셔너리 (0) | 2022.01.18 |
[파이썬] DAY2 반복문 (0) | 2022.01.17 |
[파이썬] DAY2 지난 시간 복습 (0) | 2022.01.17 |
파이썬 DAY1 (0) | 2022.01.14 |