우당탕탕 개발공부
[커널 아카데미] 데이터 분석 부트캠프 18기_ Python 기초(1) 본문
변수
- 데이터를 저장하고 추후에 사용할 수 있게 해주는 저장공간
- 이름 - 값 구성
변수 이름 = 저장할 값
a = 100
b = 10

변수 이름 규칙
- 영문자 + 숫자(혹은 언더바)의 형식 사용
💥 주의할 점
- 숫자가 맨 앞에 오면 X
- 언더바 외 특수문자 x
- 공백 x
- 소문자/대문자 구분 사용
변수의 종류 -> 자료형
1. 숫자형 -a,b
2. 문자형 -c
3. 리스트(lis) -d
4. 튜플(tuple) -e
5. 딕셔너리(dict) -f
6. 집합(set) -g

인덱스
- 첫 번째 위치는 0이고, -1로도 표현 가능
- : 를 통해 슬라이싱 가능
변수 [ 시작 인덱스 : 끝 인덱스 : 간격 ]

Q. ' Hello Python' 문자열을 거꾸로 뒤집어 출력하세요
s = 'Hello Python' s[::-1]
문자열 길이 구하기
- len( ) 사용
a = 'hello world'
print(len(a))
문자열 포맷팅
- 문자열 안에 어떤 값을 삽입하는 방법
- format( ) 사용
- f 를 맨 앞에 사용해서 삽입 가능!
num = 20
a = 'My favorite number is {}'.format(num)
print(a)
num = 20
a = f'My favorite number is {num}'
print(a)


Q. '김철수씨는 {}년생으로, {}월 {}일이 생일입니다. 김철수씨의 생년월일에는 1이 {}번 들어갑니다. 를 출력하세요
id_num = '19971015' year = id_num[:4] month = id_num[4:6] day = id_num[6:] cnt = id_num.count('1') a = f'김철수씨는 {year}년생으로, {month}월 {day}일이 생일입니다. \n 김철수씨의 생년월일에는 1이 {cnt}번 들어갑니다.' print(a)
리스트
- 요소들의 모음을 나타내는 자료형
- 요소들을 대괄호 [ ] 로 감싸주어 만들기 !
리스트 값 치환 -> 인덱싱을 통해 값 수정

| append( ) extend( ) |
append는 리스트의 맨마지막에 요소 추가 extend는 리스트의 맨마지막에다른 리스트 추가 |
a = [1, 2, 3] a.append(4) 결과 : [ 1, 2, 3, 4 ] |
| insert( ) | 리스트의 특정 위치에 측정 요소 삽입 | a = [1, 2, 3, 4] a.insert(3,2) 결과 : [ 1, 2, 3, 2, 4 ] |
| remove( ) pop( ) |
remove는 특정 요소 제거 pop은 특정 위치의 요소를 제거한 후 반환 |
a = [1, 2, 3, 4] a.remove(4) a.pop(2) 결과 : [ 1, 2, 3 ] 결과 : 3 |
| index( ) | 리스트에 요소가 있는 경우, 인덱스 값 반환 | a = ['a', 'b', 1, 2 ] a.index(1) 결과 : 2 |
| sort( ) sorted( ) reverse( ) |
sort는 정렬된 리스트 반환 sorted는 정렬된 리스트를 출력만 함 -> 리스트 자체를 바꾸지는 않음! reverse는 내림차순으로 변환 |
a = [1, 20, 13, 2 ] a.sort( ) 결과 : [ 1, 2, 13, 20 ] ------------------------------------------------------------------- a = [1, 20, 13, 2 ] sorted(a, reverse=True) 결과 : [ 20, 13, 2, 1 ] |
range 함수
# 간격 미입력시, 디폴트값 1
range(시작, 끝, 간격)
# list로 변환하고 싶은 경우, list( ) 사용하기
list(range())

튜플
- 리스트와 비슷하게 여러 요소를 묶을 수 있다
- 튜플의 요소는 수정/삭제 불가능 -> 값 치환 불가능!
- 소괄호( ) 감싸주어 만들기!
- 요소가 하나일 경우 ,를 뒤에 붙여야 함
튜플 함수 심화
# 다중 튜플의 경우, 정렬 기준을 정의하여 튜플 내 최댓값을 탐샏 max(튜플, key= lambda x:x[인덱스]) # 다중 튜플의 경우, 정렬 기준을 정의하여 튜플 내 최솟값을 탐샏 min(튜플, key= lambda x:x[인덱스])
a = (('a',1),('b',15),('c',3),('d',-5),('e',-10)) print(max(a, key= lambda x:x[0])) print(max(a, key= lambda x:x[1])) print(min(a, key= lambda x:x[0])) print(min(a, key= lambda x:x[1]))+ 절댓값을 기준으로 최댓값/최솟값을 탐색하려면? ---> abs
print(max(a, key= lambda x:abs(x[0])))
딕셔너리
- 키(key) : 값(value) 의 쌍을 중괄호 { }로 감싸줌
- 키는 중복이 될 수 없고, 리스트는 키가 될 수 없음
- 위치값을 가지지 않기 때문에, 인덱싱 불가능
| 추가 | 딕셔너리변수명[ 추가할 키] = 추가할 값 | dic[ 'country' ] = [ 'korea', 'US' ] |
| 삭제 | del 딕셔너리변수명[ 삭제할 키 ] | del dic[ 'country' ] |
딕셔너리 키(key)로 값(value)찾기
: 딕셔너리변수명[ 찾을 키 ]
print(dic['name'])
| keys( ) | 키 반환 | print( dic.keys() ) |
| values( ) | 값들 반환 | print( dic.values() ) |
| items( ) | 키와 값 튜플 쌍으로 반환 | print( dic.items() ) |
| get( 원하는 값 ) | 원하는 키 값에 대응되는 값을 반환 | dic.get('name') |
| update( ) | 딕셔너리에 새로운 딕셔너리 추가 | dic1 = { 'a' : [1,2] , 'b' : [3,4] } dic2 = { 'c' : 5, 'd' : [6,7,8 ] } dic1.update(dic2) 결과 : {'a': [1, 2], 'b': [3, 4], 'c': 5, 'd': [6, 7, 8]} |
| zip( ) | 튜플/리스트 두 개를 하나의 딕셔너리로 변환 | keys = ( "a", "b" ) values = (1,2) result = dict(zip(keys,values)) 결과 : {'a': 1, 'b': 2} |
집합
- 순서/중복 없는 자료형
- 중괄호 { }로 감싸서 표현
- 순서가 없기 때문에 인덱싱 불가!
| intersection OR & |
교집합 |
| difference OR - |
차집합 |
| union OR | |
합집합 |
파이썬 변수 심화 - copy( )
copy 라이브러리는 객체를 복사, 복제하는데 사용
객체를 복사하면 원본 객체가 변경되어도 복사본 객체는 변경되지 않는다!
'⌛ BootCamp > [커널아카데미] 데이터분석 부트캠프' 카테고리의 다른 글
| [커널 아카데미] 데이터 분석 부트캠프 18기_ Python 제어문 (for문) (0) | 2025.03.12 |
|---|---|
| [커널 아카데미] 데이터 분석 부트캠프 18기_ Python 제어문 (if문) (0) | 2025.03.12 |
| [커널 아카데미] 데이터 분석 부트캠프 18기_ 2주차 학습일지 (0) | 2025.03.07 |
| [커널 아카데미] 데이터 분석 부트캠프 18기_ 1주차 학습일지 (0) | 2025.02.28 |
| [커널 아카데미] 데이터 분석 부트캠프 18기_ 엑셀 기초 (0) | 2025.02.24 |


