안녕하세요! ? Python 프로그래밍에 뛰어들고 있다면 아마도 사전을 우연히 발견하고 "Python에서 사전이란 정확히 무엇이며, 이를 통해 코딩을 더 똑똑하게 하는 데 어떻게 도움이 될까요?"라고 궁금해했을 것입니다. 걱정하지 마세요. 매우 간단한 방법으로 분석해 보겠습니다.
항목 목록이 있고 각 항목에 '이름: John' 또는 '나이: 25'와 같은 고유한 라벨이 붙어 있다고 가정해 보세요. Python의 사전은 정확히 그렇게 작동합니다! 이는 각 키가 고유하고 특정 값을 가리키는 키 값 쌍의 모음입니다. 정보를 깔끔하고 체계적으로 저장하는 미니 데이터베이스라고 생각하시면 됩니다.
단어(키)를 찾아 그 의미(값)를 알아내는 실제 사전과 같습니다. 멋지죠? ?
사전을 만드는 것은 아주 쉽습니다. 중괄호 {}를 사용하고 각 키 값 쌍을 콜론 :.
으로 구분하면 됩니다.간단한 사전을 만드는 방법은 다음과 같습니다.
# Creating a dictionary to store student information student_info = { 'name': 'John Doe', 'age': 21, 'major': 'Computer Science' } # Printing out the dictionary print(student_info)
이 사전에는 학생의 이름, 나이, 전공이 저장되어 있습니다. 'name' 및 'age'와 같은 키가 어떻게 따옴표로 묶여 있는지 확인하세요. 키는 문자열, 숫자, 심지어 튜플일 수도 있기 때문입니다! 값은 문자열, 목록, 기타 사전 등 무엇이든 될 수 있으며 이름을 지정합니다.
자, 이제 흥미로운 부분이 있습니다. Don't Repeat Yourself를 의미하는 DRY 원칙에 대해 들어보셨을 것입니다. 이는 코드의 중복을 피하도록 권장하는 규칙입니다. 사전이 어떻게 도움이 될 수 있나요? 살펴보겠습니다.
학생에 대한 정보를 별도의 변수에 저장한다고 가정해 보세요. 다음과 같이 보일 수 있습니다:
student1_name = 'Alice' student1_age = 20 student1_major = 'Mathematics' student2_name = 'Bob' student2_age = 22 student2_major = 'Physics'
반복적인 변수 이름이 있을 뿐만 아니라 이를 인쇄하거나 업데이트하려면 계속해서 반복해야 합니다. 이것은 사전이 하루를 절약할 수 있는 곳입니다! ?
사전을 사용하면 이 모든 정보를 더욱 깔끔한 방식으로 저장할 수 있습니다.
# Using dictionaries to store student data students = { 'student1': {'name': 'Alice', 'age': 20, 'major': 'Mathematics'}, 'student2': {'name': 'Bob', 'age': 22, 'major': 'Physics'} } print(students['student1']['name']) # Output: Alice print(students['student2']['age']) # Output: 22
이제 학생 이름, 나이, 전공별로 별도의 변수를 만들 필요가 없습니다. 훨씬 간단한 방법으로 정보에 액세스하거나 업데이트할 수 있습니다. 또한 코드가 더 깔끔하고 관리하기 쉬워집니다.
학생 점수를 기반으로 간단한 채점 시스템을 만들고 싶다고 가정해 보겠습니다. 사전이 없으면 다음과 같이 작성하게 될 수도 있습니다.
# Without dictionary (repeating code) alice_score = 90 bob_score = 75 charlie_score = 85 if alice_score >= 85: print("Alice gets an A") if bob_score >= 85: print("Bob gets an A") if charlie_score >= 85: print("Charlie gets an A")
여기서 if 문을 반복하고 각 학생의 이름과 점수를 하드코딩하고 있는데 이는 DRY 원칙을 위반하는 것입니다.
대신 사전을 사용하면 다음과 같이 반복을 피할 수 있습니다.
# Using a dictionary (DRY principle) student_scores = {'Alice': 90, 'Bob': 75, 'Charlie': 85} for student, score in student_scores.items(): if score >= 85: print(f"{student} gets an A")
이제 더 깔끔하고, 더 짧고, 유지 관리하기 쉬운 코드가 생겼습니다! if 문을 한 번만 작성하면 사전에 있는 모든 학생에게 적용됩니다. ?
사전에는 쉽게 작업할 수 있는 다양한 내장 메서드가 포함되어 있습니다. 그 중 몇 가지를 확인해 보겠습니다.
print(student_info.get('address', 'Address not available')) # Output: Address not available
print(student_info.keys()) # Output: dict_keys(['name', 'age', 'major']) print(student_info.values()) # Output: dict_values(['John Doe', 21, 'Computer Science'])
for key, value in student_info.items(): print(f'{key}: {value}') # Output: # name: John Doe # age: 21 # major: Computer Science
student_info.update({'grade': 'A'}) print(student_info) # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A'}
student_info.setdefault('graduation_year', 2024) print(student_info) # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A', 'graduation_year': 2024}
사전은 매우 강력하며 코드에서 DRY 원칙을 따르는 데 실제로 도움이 될 수 있습니다. 사전을 사용하면 반복을 방지하고, 코드를 체계적으로 정리하고, 읽고 유지 관리하기 쉽게 만들 수 있습니다.
따라서 다음에 비슷한 변수를 여러 개 만들면 대신 사전을 사용해 보세요. 그러면 여러분의 시간과 노력이 엄청나게 절약될 것이고, 미래의 여러분도 여러분에게 감사할 것입니다! ?
즐거운 코딩 되세요! ?
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3