본문 바로가기
Python

0630 list

by 대금부는개발자 2021. 6. 30.
SMALL

 

#python의 Sequence Data Type

 

#list

a = list() #empty list를 생성하는 가장 일반적인 형태

a = [ ] #literal 표현은 대괄호 ( [] )

a = [1, 2, 3] #' , '를 기준으로 요소들은 나열

a = [1, 3.14, 'Hello'] #클래스 자체가 다른 식의 데이터 타입도 한 번에 묶을 수 있다

a = [1, 2, ['Hello', 4], 5, True] # 리스트 안에 리스트가 포함될 수 있다(중첩 리스트 허용)

 

# indexing 숫자 위치를 가지고 내가 원하는 요소를 알아내거나 바꾸거나 핸들링할 때 사용해요

#프로그래밍 숫자 index는 시작이 0부터 시작해요 단, 데이터베이스 인덱스 처리를 할 때는 1부터 시작

 

print(a[2][1]) #4 #세 번째 칸 두 번째!!

pirnt(a[-2]) #파이썬은 마이너스 인덱스 지원한다 -1부터 시작 # 5

 

# slicing : 원하는 범위를 지정해서 뜯어오는 거, 원본과 똑같은 데이터 타입이 나옵니다

print(a[0:1]) #[1]

print(a[:2]) # [1. 2]

 

#기본 연산

a = [1, 2, 3]

b = [4, 5, 6]

 

result = a + b # 여기서 +는 두 개의 list에 대해 플러스 연산을 함(연산자 오버 로딩)

# 두 개의 리스트를 더하면 연결의 의미로 변해요

print(result) # [1,2,3,4,5,6]

 

result = a * 3 # a + a + a

print(result) #[1, 2, 3, 1, 2, 3, 1, 2, 3]

 

a = [1, 2, 3]

print(a[0] + 'Hello')

 

(a[0] + 'Hello') # 다른 언어는 1 + Hello를 연산할 수 없으니까 '1' + 'Hello'로 동일한 데이터 타입으로 변하지만 파이썬 자동 형 변환 일어나지 않아요.

그렇기 때문에 print(str(a[0]) + 'Hello')로 명시적으로 바꿔야 해요 #1Hello

 

a = [1, 2, 3]

a.append(4) # append() 는 리스트 마지막에 요소를 추가하는 함수

# 함수는 2가지 형태로 사용이 되는데, 원본이 바뀌는 경우가 있고 결과값이 리턴되는 경우가 있어요!

# 함수는 대표적으로 원본 자체가 변하는 케이스가 있고, 또 다른 함수는 원본 자체는 변하지 않는데 새로운 결과가 리턴되는 경우가 있음 (append()는 원본 리스트 자체가 변하는 함수)

 

print(a) #[1, 2, 3, 4]

result = a.append(4) # 변수안에 있는 리스트에 4라는 값을 붙이는데 처리된 결괏값을 저장하라는 의미

print(result) # 원본만 처리시키고 결과가 없기 때문에 None 이 표출 None은 아무것도 없다는 것을 지칭하는 예약어 대신 a라는 리스트 자체는 원본이 변화하기 때문에 [1, 2, 3, 4] 가 표출되고 결과가 없기 때문에 None 이 표출

 

a = [1, 2, 3]

a.append([4, 5, 6]) # [1, 2, 3, [4, 5, 6] ] 무조건 리스트의 맨 끝에 집어넣는 거예요

print(a)

 

a = [1, 2, 3]

a.extend([4, 5, 6]) #[1, 2, 3, 4, 5, 6] 원본 리스트에 뒤에 있는 리스트를 확장 시킨다(플러스 연산처럼)

print(a)

 

a = [3, 7, 10, 1, 2, 8, 4]

a.sort() # sort는 정렬하는 것

# print(a) # 결과가 맞는 형태

(작은 게 위로 올라가는 게 오름차순 sort는 오름차순(작은 게 앞으로) 원본만 변함 #

result =a.sort() #정렬은 되지만 result 값이 리턴이 없기 때문에 의미 없는 형태

print(a) # [1, 2, 3, 4, 7, 8, 10]

a.reverse() #내림차순 정렬( 큰 게 위로 올라가는 게 내림차순)

print(a) # [10, 8, 7, 4, 3, 2, 1]

 

* 그냥 a.reverse만 하면 결괏값을 뒤집어요! [4, 8, 2, 1, 10, 7, 3]

내림차순 정렬할 때는 a.sort()를 같이 써주세요!

 

a = [3, 7, 10, 1, 2, 8, 4]

a.sort()

a.reverse()

print(a)

 

[10, 8, 7, 4, 3, 2, 1]

 

 

 

 

LIST

댓글