본문 바로가기
Programming Language/Python

[파이썬] DAY2 리스트

by 9루트 2022. 1. 17.

 

주소: 첫번째 글자가 쓰여진 시작 주소

인덱스: 데이터가 작성되기 시작한 곳(주소)로부터 떨어진 상대적 주소

 

인덱스가 들어가 있는 변수들은 다른 구조를 중간에 넣을 수 없다.

하지만 리스트에서는 예외적으로 삭제와 삽입이 가능하다.

 

리스트는 배열을 포함하는 넓은 범위: 순차, 리스트 두 가지 구조가 있다.

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