프리코스에서 미리 학습한 내용
복습하는 느낌으로 판서 진행
메모작성용으로 github 배우기전 마크다운 문법 연습겸 작성
Data Type
소챕터중 제일 길듯함
유연하게 받아들여주시면 좋겠다
변수 Variable
데이터 저장/관리 > 변수에 대한 개념 통해 데이터 사용할 수 있다.
- point
- 어떤 경우 사용
- 연산결과 어떤 의미인지
- Variable 변수
- 메모리 상 데이터 저장공간
- '=' 저장할 때 쓴다 > assignment operator cf. can't assign 오류 > 할당불가
- (lvalue) = (rvalue)
a = 10
id(a) = (주소값 숫자 etc)
숫자 데이터
Numeric Data Types
숫자표현 범위 무한대
- 정수형(Integer)
int
type(a)
: a 의 data type
- 실수형(Floating point)
float
3.14 - 4 = 0.8599....
?
컴퓨터는 2진수가 아닌걸 인지하지 못함. 태생적 한계
이를 보완하기 위해 numpy
사용함
사칙연산 : + - * %
c = 5
d = 2
print(c ** d) //c를 d번 곱한 것, c의 d 제곱
print(c//d) //c를 d로 나눈 몫
print(c % d) //c를 d로 나눈 나머지
문자열
String 문자(character)의 나열 의미
문자 > encoding > 숫자
유니코드 UTF-8
영어 1 바이트 / 한글 3 바이트
s = 'Hello World'
s
'Hello World'
" 큰따옴표 3개 쓰면 엔터 포함해서 작성 가능함
s = """대
한민국
"""
대
한민국
- '' "" 둘다 자유롭게 쓸 수 있음
- escape code :
\n
줄바꿈\t
탭 - 문자열 연산
- 합연산은 그대로 더해져서 나감
- 연속형 데이터
리스트
- [,]
l1 = []
type[l1]
list
[]
1차원 리스트[[]]
2차원 리스트[[[]]]
3차원 리스트
Indexing
리스트의 index는 맨 앞 0으로 시작
positive index : 앞에서 부터
negative index : 뒤에서부터
인덱스 초과하면 오류발생
# 방법1.
L2 = [1, [2, 3], 5]
temp = L2[1]
temp[0]
# 방법2. 리스트에 이어서 연속작성
L2[1][0]
// 2
List Slicing 의 규칙
뒤에서 하나를 뺀다던가, Step by Step 정리하기
L[a:b] # a부터 b 미만
시작 inddex 생략 = 자동으로 index 는 0
끝 index 생략 = index 는 리스트의 길이
L[2:len(L)] == L[2:]
# 끝 index
- List 사칙연산
- 곱하기? 동일한 내용 반복
List 관련함수
- 순서대로 추가하기 : .append()
L = [] L.append(3) L.append(2) // [ 3, 2 ] - 순서대로 정렬됨`
- 원소정렬하기 : .sort(reverse = False or True)
L = [ 4 , 3, 16 ]
# 오름차순 L.sort(reverse = False)
// [3, 4, 16]
# 내림차순 L.sort(reverse = True)
// [16, 4, 3]`
- 리스트 뒤집기(정렬 X) : .reverse()
L = [4, 3, 16] L. reverse()
//[16. 3. 4]
L[::-1]
#이건 numpy 할 때 설명해줄 예정
- 제거하기 : .pop()
튜플 Tuple
소괄호 사용 ()
List 변경가능 mutable vs Tuple 변경 불가 immutable
못바꾼다 = 크기가 고정된다 / 데이터
해서 튜플에서는 딱히 연산안해서 함수 안외워도 된다
집합 Set
- Dictionary 자료형도 {} 사용하기에,
- 반드시 Set() 으로 생성해야한다. if {} 생성 = 빈 dictionary 생성됨(집합 x)*
- 중복 허용 x > 원소 종류 판별 Good
- 순서 존재 x = index 없음
- 연산
- 교집합 : s1 & s2
- 합집합 : s1 | s2
- 차집합 : s1 - s2 != s2 - s1
집합 원소의 uniqueness 활용 case
# 원소 종류 구하기
L = [1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4,]
set(L) # Type conversion
// {1, 2, 3, 4, 5, 6}
# 서로 다른 원소의 개수는?
len(set(L))
// 6
집합 함수
- 하나 추가하기 : .add()
- 多 추가 : .update({a,b}) # sequence 가능 = list 나 tuple 가능
- 제거 : .remove()
Dictionary 사전
key - value 방법을 통해 저장 > pandas 에서 엄청 많이 씀
순서가 아닌 의미가 이쓴 값을 통해서 데이터 접근 가능
indexing 하려는 key 미존재 > assign 하면 key-value pair 추가됨
Hash Table
{key : value, key2 : value2, ...)
*중요 : key가 될 수 있는 data type = immuatble (수정 불가) / list, dictionary, set 빼고!! = int, float, str, tuple *
Dictionary 함수
- 모든 keys 보기 : .keys()
- 모든 value 보기 : .values()
- key, value 쌍으로 보기 : .items()
d.keys, d.values, d.items 라는 객체로 선언이 되는것 (어려우니 알고만 있기)
= list는 아니다
= .insert() 불가
- 원소가져오기 : .get()
D.get('surname','Lee') # get 함수를 활용, default 값을 지정
// 'Lee'
- Sequence 에 해당 data 존재여부 확인 : in
"phone" in D
// True
충분히 data 타입에 대한 숙지 후 다른 강의로 진행추천 복습이 중요
'일별 학습일지' 카테고리의 다른 글
12/20 :: Ideation (0) | 2023.12.20 |
---|---|
12/18 :: 실시간 (0) | 2023.12.18 |
12/13 :: 실시간 (0) | 2023.12.13 |
12/12 :: IF, for, while (0) | 2023.12.12 |
12/12 :: 특강 (0) | 2023.12.12 |