# 딕셔너리 생성
dict_data = {'kor': 0, 'eng': 1, 'math': 2}
# 값 조회
print(dict_data['kor']) # 결과: 0
# 값 추가 및 변경
dict_data['math'] = 3 # math의 값 변경
dict_data['science'] = 2 # science 추가
# 값 삭제
del dict_data['kor']
print(dict_data) # {'eng': 1, 'math': 3, 'science': 2}
print(dict_data.keys()) # dict의 key 출력
print(dict_data.values()) # dict의 value 출력
print(dict_data.items()) # dict의 key, value 출력
# 키를 리스트로 변환
key_list = list(dict_data.keys())
print(key_list) # ['eng', 'math', 'science']
# 키, 값 개별 접근
for key, value in dict_data.items():
print(f"{key}: {value}")
# 특정 키 존재 여부 확인
print('math' in dict_data) # 결과: True
🔹 💡 딕셔너리는 (키, 값) 을 쌍으로 가진 자료구조이다.
sentence = 'Hello Python, This text is a sample.'
# 특정 단어 포함 여부
print('is' in sentence) # 결과: True
# 특정 문자열 위치 찾기
print(sentence.index('This')) # 결과: 문자열 내 'This'가 시작되는 위치 반환
print(sentence.split().index('This')) # 단어 기준으로 나눈 리스트에서 'This'의 위치 반환
# 문자열 슬라이싱
print(sentence[-10:]) # 뒤에서 10번째 문자부터 끝까지
print(sentence[::-1]) # 문자열 뒤집기
str_original = ' , Hello_pyThon_cOde_sample , '
# 소문자로 변환
print(str_original.lower())
# 대문자로 변환
print(str_original.upper())
# 앞뒤 공백 및 특정 문자 제거
print(str_original.strip(' ,'))
words = ['hello', 'python', 'code', 'sample']
# 문자열 합치기
str1 = '_'.join(words)
print(str1) # 'hello_python_code_sample'
str2 = '\n'.join(words)
print(str2) # 'hello' (줄바꿈) 'python' (줄바꿈) ...
a_list = [10, 29, 33]
print(a_list) # [10, 29, 33]
# 요소 추가
a_list.append(44)
print(a_list) # [10, 29, 33, 44]
b_list = a_list # 같은 객체를 참조
b_list.append(55)
print(b_list) # [10, 29, 33, 44, 55]
print(a_list) # [10, 29, 33, 44, 55] (같은 객체이므로 변경됨)
append() vs extend() a_list.append([6,7,8]) # 리스트 안에 리스트가 들어감
b_list.extend([6,7,8]) # 개별 요소로 추가됨
print(a_list) # [10, 29, 33, 44, 55, [6,7,8]]
print(b_list) # [10, 29, 33, 44, 55, 6, 7, 8]
for item in a_list:
print(item, end=' ') # 요소 출력
for index, item in enumerate(b_list, 1): # 인덱스를 1부터 시작
print(f"{index}. {item}")
a_list *= 2 # 리스트 반복
print(a_list)
# 모든 요소에 2를 곱하기
for i in range(len(a_list)):
a_list[i] *= 2
print(a_list)
a_list = [3, 1, 4, 1, 5, 9]
# 정렬 (원본 변경 X)
sorted_list = sorted(a_list)
print(sorted_list)
# 거꾸로 정렬 (원본 변경 X)
reversed_list = list(reversed(a_list))
print(reversed_list)
# 최대, 최소값
print(f"max = {max(a_list)}, min = {min(a_list)}")
# 리스트 합계 및 평균
print(f"sum = {sum(a_list)}, avg = {sum(a_list) / len(a_list):.3f}")
a_list = [1, 2, 3, 4, 5]
# 모든 요소 삭제
a_list.clear()
print(a_list) # []
# 요소 추가
a_list.append(10)
print(a_list) # [10]
# 여러 요소 추가
a_list.extend([30, 20, 30])
print(a_list) # [10, 30, 20, 30]
# 특정 위치에 요소 삽입
a_list.insert(0, 0) # 첫 번째 위치에 0 삽입
a_list.insert(100, 50) # 100번째 인덱스가 없으므로 마지막에 추가됨
print(a_list) # [0, 10, 30, 20, 30, 50]
# 요소 삭제
a_list.remove(0) # 첫 번째 0 제거
print(a_list)
# 특정 요소 개수 및 위치 찾기
print(f"10은 {a_list.count(10)}회 출현. {a_list.index(10)}번째 방에 있음.")
# 정렬 및 뒤집기
a_list.sort() # 오름차순 정렬
print(a_list)
a_list.reverse() # 내림차순 정렬
print(a_list)
sort() vs sorted())| 함수 | 원본 변경 | 반환 값 |
|---|---|---|
list.sort() | O | None |
sorted(list) | X | 정렬된 리스트 |
numbers = [5, 2, 9, 1]
# 원본 리스트 유지, 정렬된 리스트 반환
sorted_numbers = sorted(numbers)
print(sorted_numbers) # [1, 2, 5, 9]
# 원본 리스트 자체를 정렬
numbers.sort()
print(numbers) # [1, 2, 5, 9]
continue, pass, break)continuefor i in range(5):
if i == 3:
continue # 3일 때 아래 코드 스킵, 다음 반복으로
print(f"continue: {i}")
출력:
continue: 0
continue: 1
continue: 2
continue: 4
for i in range(5):
if i == 3:
pass # 3일 때 아무것도 안 하고 계속 진행
print(f"pass: {i}")
출력:
pass: 0
pass: 1
pass: 2
pass: 3
pass: 4
for i in range(5):
if i == 3:
break # 3일 때 반복문 완전 종료
print(f"break: {i}")
출력:
break: 0
break: 1
break: 2
| 키워드 | 동작 | 사용 목적 |
|---|---|---|
continue | 현재 반복 스킵, 다음 반복 진행 | 특정 조건에서 반복 건너뛰기 |
pass | 아무것도 안 함, 그냥 통과 | 빈 블록 채우기 / 임시 대체 |
break | 반복문 완전 종료 | 조건 충족 시 반복 끝내기 |