본문 바로가기
카테고리 없음

python ----

by 아메리카노와떡볶이 2021. 6. 24.
728x90
python 기초

나동빈님의 이것이 코딩테스트다 강의자료를 보며 공부하고 기록하고 싶은 것들을 남기기 위한 포스트입니다.

이 포스트에 게시된 자료의 출처는 유튜브: 나동빈님에게 있음을 미리 알립니다.

 

list 자료형 메소드관련

 

함수명 사용법 설명 복잡도
append() 변수명.append() 리스트에 원소를 하나 삽입할 때 사용한다. O(1)
sort() 변수명.sort() 기본 정렬 기능으로 오름차순으로 정렬한다. O(Nlogn)
변수명.sort(reverse=true) 내림차순으로 정렬한다. O(n)
reverse() 변수명.reverse() 리스트의 원소의 순서를 모두 뒤집어 놓는다. O(n)
insert() insert(삽입할 위치 인덱스,삽입할 값) 특정한 인덱스 위치에 원소를 삽입할 때 사용한다. O(n)
count() 변수명.count(특정 값) 리스트에서 특정한 값을 가지는 데이터의 개수를 셀 때 사용한다. O(n)
remove() 변수명.remove(특정 값) 특정한 값을 갖는 원소를 제거하는데, 값을 가진 원소가 여러개라면 하나만 제거한다. O(n)

 

list comprehesion
# 0부터 19까지의 수 중에서 홀수만 포함하는 리스트
array = [ i for i range(20) if i % 2 == 1 ] 
print(array)

출력결과
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

#2차원 리스트 초기화에 사용하기
#n x m 크기의 2차원 리스트를 한번에 초기화.
array = [[0] * m for _ in range(n)]

# append method ex
a=[1, 4, 3]
a.append(2)
print(a)

출력결과
[1, 4, 3, 2]

# sort method ex
a.sort()
print(a)

출력결과
[1,2,3,4]

# reverse sort ex
a.sort(reverse = True)
print(a)

출력결과
[4, 3, 2, 1]

a= [1, 3, 5, 7]
# reverse method ex
a.reverse()
print(a)

출력결과
[7, 3, 5, 1]

# insert method ex, 특정 인덱스에 데이터를 추가
a.insert(2,3)

출력결과
[7, 3, 3, 5, 1]

# 특정 값인 데이터의 개수를 세아리기
print(a.count(3))

출력결과
2

# 특정 값 데이터를 삭제
a.remove(3)
print(a)

출력결과
[7, 3, 5, 1]

# 특정 값을 가지는 원소를 모두 제거하기
a= [1, 2, 3, 4, 5, 5, 5, 5]
remove_set = { 3, 5 }

result = [ i for i in a if i not in remove_set]
print(result)

출력결과
[1, 2, 4]

 

문자열 기초

문자열은 immutable 하다 즉 , 특정 인덱스의 값을 변경할 수는 없다. (C언어처럼 배열로 문자열이 저장되는 구조와 차이가 있다)

다음과 같이 heelo 를 의도해서 문자열을 수정하려하였으나, 오류메시지가 나온다. 다시 말해서 파이썬의 문자열은 변경불가능한 객체이다

 

a = "Hello"
b = "World"
print(a+" "+b)

a= "string"
print(a*3)

a = "ABCDEF"
print(a[2 : 4]) # (끝인덱스 -1) 까지 , 즉 인덱스 2~3까지

result:
Hello World
stringstringstring
CD

 

 

튜플 자료형 기초

튜플 자료형은 리스트와 유사하지만 문법적 차이가 있다.

1. 튜플은 한번 선언된 값을 변경할 수 없다.
2. 리스트는 대괄호를 이용하지만, 튜플은 소괄호를 이용한다.
3. 튜플은 리스트에 비해 상대적으로 공간 효율적이다.

 

튜플을 사용하면 좋은 경우

1. 서로 다른 성질의 데이터를 묶어서 관리해야 할 때
2. 데이터의 나열을 해싱의 키 값으로 사용해야 할 때
3. 리스트보다 메모리를 효율적으로 사용해야 할 때

사용예시

a = (1, 2, 3, 4)
print(a)

a[2] = 7
==> 튜플 객체는 변경할 수 없으므로, 오류발생

 

사전 자료형 기초

사전 자료형은 키(Key)와 값(Value)의 쌍을 데이터로 가지는 자료형이다. 앞서 다루었던 리스트나 튜플이 값을 순차적으로 저장하는 것과는 대비된다.

파이썬의 사전 자료형은 hash table을 이용하므로 데이터의 조회 및 수정에 있어서 O(1) , 즉 상수시간에 처리가능하다

그림과 같은 키,값이 매핑되는 자료형을 구현하고자 할때 사전 자료형을 사용할 수 있다.

data = dict()
data['사과'] =  'Apple'
data['바나나'] = 'Banana'
print(data)

result:
{'사과': 'Apple', '바나나': 'Banana', '코코넛': 'Coconut'}

사전 자료형에서는 키와 값을 별도로 뽑아내기 위한 메소드를 지원한다

key data만 뽑아서 리스트로 이용할 때는 keys() 함수를 이용
값 data만 뽑아서 리스트로 이용할 때는 vales() 함수를 이용

이렇게도 출력가능

 

728x90

댓글