[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.07.12
📕 학습 목록
- 컨테이너 자료형_시퀀스
- 컨테이너 자료형_비시퀀스
- 조건문
📗 기억할 내용
1) 컨테이너 자료형_시퀀스
- 순서가 있는 컨테이너; 데이터를 순서대로 저장 ex : 리스트, 문자열, 레인지, 튜플
- 중복 O
① 리스트
- len() : 리스트의 길이 반환
- 덧셈 : [1, 2] + [3, 4] = [1, 2, 3, 4]
- 곱셈 : [1, 2, 3] * 3 = [1, 2, 3, 1, 2, 3, 1, 2, 3]
- 리스트[인덱스] = 새로운 원소 : 리스트 원소 값 수정
- 리스트[start:end:step] : 리스트 슬라이싱 * end 값 미포함
- 리스트.append(새로운 원소) : 리스트 마지막에 새로운 원소 추가
- 리스트.pop() : 리스트 마지막 원소 삭제 * 삭제와 동시에 삭제한 원소를 반환
- 리스트.pop(삭제할 원소의 인덱스) : 특정 인덱스의 원소 삭제
② 문자열
- 덧셈 : "hello" + "world" = "helloworld"
- 곱셈 : "hello" * 3 = "hellohellohello"
- f-string : f"제 이름은 {변수 + 1} 입니다."
③ 레인지
- range(start, end, step) * end 값 미포함
④ 튜플
- 덧셈 : (1, 2) + (3, 4) = (1, 2, 3, 4)
- 곱셈 : (1, 2, 3) * 3 = (1, 2, 3, 1, 2, 3, 1, 2, 3)
- 튜플[인덱스] : 원소에 접근
⑤ 컨테이너 형 변환
- list() : 문자열/레인지 → 리스트
⑥ 멤버십 연산자
- 값 in 컨테이너 자료형 : 값이 있으면 True / 없으면 False
- 값 not in 컨테이너 자료형 : 값이 있으면 False / 없으면 True
컨테이너 자료형 종류 | 원소 삽입•삭제•수정 | |
시퀀스 | 리스트 | O |
문자열 | X * 수정시 문자열 덧셈/슬라이싱 이용 |
|
레인지 | - | |
튜플 | X | |
비시퀀스 | 딕셔너리 | O |
집합(set) | O |
2) 컨테이너 자료형_비시퀀스
- 순서가 없는 컨테이너; 데이터를 무작위 순서로 저장 ex : 딕셔너리, 집합(set)
- 중복 X
① 딕셔너리
- 각 key는 유일함
- 딕셔너리[key] : value 접근
- 딕셔너리[key] = value : key-value 추가/수정
- del 딕셔너리[key] : key-value 삭제
- keys() : 모든 key 반환(리스트)
- values() : 모든 value 반환(리스트)
- items() : 모든 key-value 쌍 반환(튜플로 이루어진 리스트)
- get(key) : key에 해당하는 value 반환(해당 key가 없을 경우 None 반환)
② 집합(set)
- set.add(값) : 원소 추가 * 중복값 추가시 명령 무시
- set.remove(값) / set.discard(값) : 원소 삭제
- set1.union(set2) / set1 | set2 : 합집합
- set1.intersection(set2) / set1 & set2 : 교집합
- set1.difference(set2) / set1 - set2 : 차집합
③ 멤버십 연산자
- key in 딕셔너리 / key not in 딕셔너리 * 오직 key (value 기입시 False 반환)
- value in 딕셔너리.values() / value not in 딕셔너리.values() * 오직 value
- 값 in 집합 / 값 not in 집합
3) 조건문
- if elif else
- 코드 블럭은 들여쓰기(4 spaces / 1 tab)로 구분
📘 트러블 슈팅
[문제]
- 문제 내용
다음의 조건문에서 else문을 어떻게 작성할지 고민함
# 실수형 숫자 입력 요청 number = float(input("점수를 입력해주세요.")) # 조건문 if number >= 90: print("학점 : A") elif number >= 85.5: # 만약, elif 대신 if 를 쓸 경우, number = 100 일 때 A, B, C, D 다~ 출력됨(100은 90, 85.5, 70, 60 보다 계속 크거나 같기 때문) print("학점 : B") elif number >= 70: print("학점 : C") elif number >= 60: print("학점 : D") else
- 문제 원인
if문은 반드시 else문으로 끝나야 한다고 잘못 이해하고 있었음
[해결]
- 해결 방법
if문은 else 문으로 마무리할 필요 없음. if문 또는 elif문으로 끝나도 됨
- 해결 결과
# 실수형 숫자 입력 요청 number = float(input("점수를 입력해주세요.")) # 조건문 if number >= 90: print("학점 : A") elif number >= 85.5: # 만약, elif 대신 if 를 쓸 경우, number = 100 일 때 A, B, C, D 다~ 출력됨(100은 90, 85.5, 70, 60 보다 계속 크거나 같기 때문) print("학점 : B") elif number >= 70: print("학점 : C") elif number >= 60: print("학점 : D") # if문은 else로 꼭 마무리해줘야 하는줄 알았는데 elif로 끝나도 되는거였군!
학점 : C
📙 내일 일정
- 파이썬 프로그래밍(반복문, 함수, 파일 입출력, 모듈, 예외처리) 학습
'TIL _Today I Learned > 2024.07' 카테고리의 다른 글
[DAY 6] Python Crawling (0) | 2024.07.18 |
---|---|
[DAY 5] Python Crawling (0) | 2024.07.17 |
[DAY 4] Python Programming (0) | 2024.07.16 |
[DAY 3] Python Programming (0) | 2024.07.15 |
[DAY 1] Python Programming (0) | 2024.07.14 |