달력

1

« 2020/1 »


 

 

공집합(null set)

·       아무런 원소도 포함하지 않는 집합

·       기호로 나타냅니다.

·       공집합은 모든 집합의 부분집합이 됩니다.

 

 

구분

표현식

공집합

∅⊂A

임의의 집합과 공집합의 교집합(intersection)은 공집합이 됩니다.

A∩∅=

임의의 집합과 공집합의 합집합(union)은 그 집합 자신이 됩니다.

A∪∅=A

 

 

 


'Development > Python' 카테고리의 다른 글

리스트 내장(리스트 내포; List comprehension) 형식  (0) 2020.01.29
집합 자료형 관련 함수  (0) 2020.01.29
공집합(null set)  (0) 2020.01.28
[Python] 정렬  (0) 2020.01.28
리스트 요소 추가, 수정, 삭제  (0) 2020.01.28
리스트 연산자  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 1. 28. 16:49

[Python] 정렬 Development/Python


 

 

정렬

python의 정렬 알고리즘은 Timsort (변형된 merge sort) 사용합니다.

 

 

파이썬은 디폴트로 cmp(a, b) 내장 함수를 이용하여 정렬 방식을 결정합니다.

cmp(a, b)

if a < b: return -1

if a > b: return 1

if a == b: return 0

 

 

 

 

 

sort()

·       리스트 정렬

·       sort 함수는 리스트의 요소를 순서대로 정렬해 줍니다.

 

 

 

 

reverse()

·       리스트 뒤집기

·       리스트를 역순으로 뒤집어 줍니다. 이때 리스트 요소들을 순서대로 정렬한 다음 다시 역순으로 정렬하는 것이 아니라 현재의 리스트의 순서를 그대로 거꾸로 뒤집어 줍니다.(주의)

 

 


'Development > Python' 카테고리의 다른 글

집합 자료형 관련 함수  (0) 2020.01.29
공집합(null set)  (0) 2020.01.28
[Python] 정렬  (0) 2020.01.28
리스트 요소 추가, 수정, 삭제  (0) 2020.01.28
리스트 연산자  (0) 2020.01.28
Fancy indexing(팬시 인덱싱)  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

리스트 요소 추가, 수정, 삭제

구분

설명

리스트 요소 추가(Insert)

리스트에 새로운 요소를 추가하기 위해서는 append()메소드를 사용합니다.

리스트의 가장 마지막 요소뒤에 추가됩니다.

 

리스트.append()

리스트 요소 추가(Insert)

리스트의 원하는 인덱스에 추가합니다.

 

리스트.insert(index, )

리스트 요소 수정(Update)

리스트 요소를 변경하기 위해서는 리스트 인덱싱을 사용하여 특정요소에 새로운 값을 저장할 있습니다.

 

리스트[index] =

리스트 요소 삭제(Delete)

리스트 요소를 삭제하기 위해서는 del함수를 이용하여 특정 요소를 삭제합니다.

 

del 리스트

del 리스트[index]

 

 

 


'Development > Python' 카테고리의 다른 글

공집합(null set)  (0) 2020.01.28
[Python] 정렬  (0) 2020.01.28
리스트 요소 추가, 수정, 삭제  (0) 2020.01.28
리스트 연산자  (0) 2020.01.28
Fancy indexing(팬시 인덱싱)  (0) 2020.01.28
행렬 vs 배열  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

리스트 연산자

+(리스트 병합), *(리스트 반복), 슬라이싱, 인덱싱은 문자열과 동일합니다.

 

 

 

 

 

+(리스트 병합)

두 개의 리스트를 병합하기 위해서는 플러스(+)를 사용하며 이 때 두 리스트를 순서대로 병합한 새로운 하나의 리스트가 만들어 집니다.

 

리스트 + 리스트 = 병합된 새로운 리스트

 

lista = [1, 2, 3]

listb = [4, 5, 6]

print(lista + listb)

# [1, 2, 3, 4, 5, 6]

 

 

 

 

 

*(리스트 반복)

하나의 리스트를 n 반복하기 위해 * 사용합니다. 이를 통해 동일한 리스트를 계속 반복한 새 리스트를 만들 있습니다.

 

리스트 * n

 

listc = [1, 2, 3]

print(listc * 3)

# [1, 2, 3, 1, 2, 3, 1, 2, 3]

 

 


'Development > Python' 카테고리의 다른 글

[Python] 정렬  (0) 2020.01.28
리스트 요소 추가, 수정, 삭제  (0) 2020.01.28
리스트 연산자  (0) 2020.01.28
Fancy indexing(팬시 인덱싱)  (0) 2020.01.28
행렬 vs 배열  (0) 2020.01.28
행렬 종류  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

Fancy indexing(팬시 인덱싱)

·       배열 인덱싱(array indexing)

·       배열 인덱싱에서는 대괄호(Bracket, [])안의 인덱스 정보로 숫자나 슬라이스가 아니라 위치 정보를 나타내는 또 다른 ndarray 배열을 받을 수 있습니다. 이 배열을 "인덱스 배열"이라고 부르기도 합니다.

 

 

 

 

 

배열 인덱싱의 방식

불리안(Boolean) 배열 방식과 정수 배열 방식 두가지가 있다.

 


'Development > Python' 카테고리의 다른 글

리스트 요소 추가, 수정, 삭제  (0) 2020.01.28
리스트 연산자  (0) 2020.01.28
Fancy indexing(팬시 인덱싱)  (0) 2020.01.28
행렬 vs 배열  (0) 2020.01.28
행렬 종류  (0) 2020.01.28
파일 조작하기  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

배열의 산술연산자 (.+, .-, .*, ./, ., .^)

산술연산자 앞에 점(.)을 붙여 표현합니다.

 

dot 표시를 붙임 (A의 원소들과 B의 원소들을 원소별로 곱함)

A.*B

 

 

구분

표현

예시

스칼라 배열 덧셈

A + b

[2, 3] + 4 = [6, 7]

스칼라 배열 뺄셈

A - b

[2, 3] - 4 = [-2, -1]

배열 덧셈

A + B

또는

A .+ B

[2, 3] + [4, 5] = [6, 8]

배열 뺄셈

A - B

또는

A .- B

[2, 3] - [4, 5] = [-2, -2]

배열 곱셈

A .* B

[2, 3] .* [4, 5] = [8, 15]    

배열 우측 나눗셈

A ./ B

[2, 3] ./ [4, 5] = [2/4, 3/5]

배열 좌측 나눗셈

A . B

[2, 3] . [4, 5] = [4/2, 5/3]

배열 지수

A .^ B

[2, 3] .^ [4, 5] = [2^4, 3^5]

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

행렬 vs 배열

 

행렬

배열

·       2차원에서의 배열

·       1,2,3차원 모든 배열

·       같은 방식으로 저장

·       같은 방식으로 저장

·       행렬 연산

·       배열 연산

·       배열의 원소 대 원소 간의 연산

 

 

 


'Development > Python' 카테고리의 다른 글

리스트 연산자  (0) 2020.01.28
Fancy indexing(팬시 인덱싱)  (0) 2020.01.28
행렬 vs 배열  (0) 2020.01.28
행렬 종류  (0) 2020.01.28
파일 조작하기  (0) 2020.01.28
파일의 허가권  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요

2020. 1. 28. 11:59

행렬 종류 Development/Python


 

단위행렬

대각선의 원소가 모두 1이고, 나머지 원소는 모두 0인 정사각 행렬

 

 

 

전치행렬

행렬에서 행과 열을 바꾼 행렬

 

 

 

대각행렬

왼쪽 위에서 오른쪽 아래로 향하는 대각선의 원소 외에는 모두 0인 정사각 행렬

 


'Development > Python' 카테고리의 다른 글

Fancy indexing(팬시 인덱싱)  (0) 2020.01.28
행렬 vs 배열  (0) 2020.01.28
행렬 종류  (0) 2020.01.28
파일 조작하기  (0) 2020.01.28
파일의 허가권  (0) 2020.01.28
라인 단위로 파일 읽기  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요



 

 

 

 

파일 조작하기

·       파일 이름 변경하기

·       파일 이동하기

·       파일 복사하기

 

 

 

 

파일 이름 변경하기

os.rename(old_filepath, new_filepath)

 

 

 

 

 

 

파일 이동하기

·       file이나 directory 이름을 변경할 있습니다.

·       dst 디렉토리경로가 있을 경우 이미 디렉토리가 존재해야 합니다. 그렇지 않으면 FileNotFoundError 발생합니다.

 

os.rename(src, dst)

 

 

 

dst 설정된 디렉토리가 존재하지 않는 경우FileNotFoundError 발생합니다.

FileNotFoundError: [WinError 3] 지정된 경로를 찾을 수 없습니다:

 

 

 

 

 

파일 복사하기

shutil 모듈 활용

shutil.copyfile(src_filepath, dest_filepath)

 

 


'Development > Python' 카테고리의 다른 글

행렬 vs 배열  (0) 2020.01.28
행렬 종류  (0) 2020.01.28
파일 조작하기  (0) 2020.01.28
파일의 허가권  (0) 2020.01.28
라인 단위로 파일 읽기  (0) 2020.01.28
try...finally 와 with 문  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

파일의 허가권

·       파일의 허가권 확인하기

·       파일의 허가권 변경하기

 

 

 

 

파일의 허가권 확인하기

os.access(filepath, mode)

 

 

mode에 들어갈 값

인자

설명

os.F_OK

파일 자체가 존재함을 의미

os.R_OK

읽기 권한이 있음을 의미

os.W_OK

쓰기 권한이 있음을 의미

os.X_OK

실행 권한이 있는 것(또는 디렉토리인지) 의미

 

 

 

 

 

 

파일의 허가권 변경하기

os.chmod(filepath, mode)

 

 

# 리눅스에서의 실행 예

os.chmod('test.txt', 0777)

 

 


'Development > Python' 카테고리의 다른 글

행렬 종류  (0) 2020.01.28
파일 조작하기  (0) 2020.01.28
파일의 허가권  (0) 2020.01.28
라인 단위로 파일 읽기  (0) 2020.01.28
try...finally 와 with 문  (0) 2020.01.28
Series 생성  (0) 2020.01.28
Posted by codedragon codedragon

댓글을 달아 주세요