리스트(lists)
리스트의 정의 및 선언
mbti = ['INFP', 'ENFP', 'ISTJ', 'ESTP']
print(mbti)
print(mbti[0])
파이썬에서 리스트는 타입을 통일하지 않아도 된다.
my_list = [123, 'apple']
print(my_list)
그러나 for 문이나 while 문 등에서 혼란을 야기할 수 있기 때문에 되도록 통일해주는 것이 좋다.
리스트 데이터 접근 및 조작
제거하는 함수의 종류는 비교적 많은 편이다.
colors = ['red', 'blue', 'green']
# 수정
colors[2] = 'black'
print(colors)
# 추가
colors.append('purple')
print(colors)
# 추가 2
colors.insert(1, 'yellow')
print(colors)
# 제거 1
del colors[0]
print(colors)
# 제거 2
color = colors.pop(0) # 인덱스 값을 넣지 않으면 끝부터 삭제
print(colors)
print(color)
# 제거 3
colors.remove('blue')
print(colors)
del 함수는 제거와 동시에 더이상 그 값을 사용할 수 없지만 pop() 함수는 제거한 값을 반환하여 다시 사용할 수 있다.
리스트 정렬
sort() 함수는 리스트를 오름차순으로 반환하며 reverse = True를 넣으면 내림차순으로 반환한다.
colors = ['blue', 'red', 'gray', 'black', 'yellow', 'orange']
# 정렬 1
colors.sort()
print(colors)
colors.sort(reverse = True)
print(colors)
# 정렬
print(sorted(colors))
sort() 함수는 리스트를 오름차/내림차순으로 반환하지만 sorted() 함수는 리스트 자체를 정렬시킨다.
len() 함수는 리스트의 값의 개수를 반환한다.
print(len(colors))
인덱스 번호를 -1로 하면 리스트의 마지막 값을 반환한다.
print(colors[-1])
값이 존재하지 않는 인덱스 번호를 넣지 않도록 주의한다.
리스트 슬라이싱 및 복사
원하는 범위만큼 리스트의 범위를 취할 수 있는 방법
colors = ['blue', 'red', 'gray', 'black', 'yellow', 'orange']
print(colors[1:5])
print(colors[:4])
print(colors[2:])
print(colors[-5:])
새로운 리스트에 기존의 리스트를 반환 받아 사용할 수 있다.
colors = ['blue', 'red', 'gray', 'black', 'yellow', 'orange']
# colors_2 = colors
colors_2 = colors[:]
colors_2.pop()
print(colors)
print(colors_2)
기존 리스트가 변형될 수 있기 때문에 변수를 직접 가져와서 쓰지 않는 것이 좋다.
리스트와 흐름 제어
조건문과 반복문을 통한 리스트의 활용
scores = [88, 100, 96, 43, 65, 78]
scores.sort(reverse=True)
for score in scores:
if score >= 80:
print(score)
else:
print("Fail")
리스트 최댓값/최솟값/총합/평균
scores = [88, 100, 96, 43, 65, 78]
max_val = max(scores) # 최댓값
min_val = min(scores) # 최솟값
sum_val = sum(scores) # 총합
avg_val = sum(scores) / len(scores) # 평균
튜플(tuples)
튜플의 정의 및 특징
튜플은 전체를 새로 할당할 수는 있지만 요소의 값을 변경할 수 없다.
tup = (1, 20, 40)
print(tup[0])
#tup[0] = 100
tup = (100, 30, 4)
print(tup)
튜플/리스트 변환
tup = (1, 20, 40)
# 리스트 변환 1
list_1 = list(tup)
print(list_1)
# 리스트 변환 2
list_2 = [x for x in tup]
print(list_2)
# 리스트 변환 3
list_3 = []
for x in tup:
list_3.append(x)
print(list_3)
딕셔너리
딕셔너리 정의 및 선언
딕셔너리는 키-값이 한 쌍이다.
student = {
"student_no" : "202301234",
"major" : "English",
"grade" : 1
}
print(student["student_no"])
또한 키 값을 재할당 할 수 있다.
student = {
"student_no" : "202301234",
"major" : "English",
"grade" : 1
}
student["student_no"] = "202301235"
print(student)
print(student["student_no"])
딕셔너리 데이터 조작
student = {
"student_no" : "202301234",
"major" : "English",
"grade" : 1
}
# 추가
student["gpa"] = 4.5
print(student)
# 수정
student["gpa"] = 4.3
print(student)
# 삭제
del student["grade"]
print(student)
딕셔너리 함수
student = {
"student_no" : "202301234",
"major" : "English",
"grade" : 1
}
# 데이터 접근
print(student.get("major"))
print(student.get("gpa", "해당 키-값 쌍이 없습니다."))
# 딕셔너리의 키를 반환
print(student.keys())
# 딕셔너리의 값을 반환
print(student.values())
키-값을 반환하는 함수를 리스트로 형변환하여 사용할 수 있다.
student = {
"student_no" : "202301234",
"major" : "English",
"grade" : 1
}
print(list(student.keys()))
print(list(student.values()))
딕셔너리와 반복문
tech = {
"HTML" : "Abvanced",
"JavaScript" : "Intermediate",
"Python" : "Expert",
"Go" : "Novice"
}
for key in tech.keys():
print(key)
for value in tech.values():
print(value)
for key, value in tech.items():
print(f'{key} - {value}')
중첩
# 중첩(Nesting)
student_1 = {
"student_no" : "1",
"gpa" : "4.3"
}
student_2 = {
"student_no" : "2",
"gpa" : "3.8"
}
students = [student_1, student_2]
for student in students:
print(student['student_no']) # 공통되는 값
for student in students:
student['graduated'] = False
print(student) # 졸업여부 추가
하나의 키에 리스트로 여러 개의 값을 할당할 수 있다.
student = {
"subjects" : ["회계원리", "중국어회화"]
}
print(student["subjects"])
subjects_list = student["subjects"]
for subject in subjects_list:
print(subject)
딕셔너리 또한 값을 할당할 수 있다.
student = {
"scholarship" : {
"name" : "국가장학금",
"amount" : "1000000"
}
}
print(student)
for key in student.keys():
print(key)
for value in student.values():
for value_2 in value.values():
print(value_2)
'Back-End > Python' 카테고리의 다른 글
회원가입 프로그램 실습 - 파이썬(Python) 편 (0) | 2023.08.08 |
---|---|
함수 (0) | 2023.08.07 |
조건문과 반복문 (0) | 2023.07.20 |
변수와 자료형 (0) | 2023.07.19 |
파이썬 for Beginner 3판 14장 연습문제 답(더보기 클릭) (0) | 2023.07.13 |