Привет! ? Если вы погружаетесь в программирование на Python, вы, вероятно, натыкались на словари и, возможно, задавались вопросом: «Что такое словарь в Python и как он может помочь мне писать код умнее?» Не беспокойтесь, давайте разберем это очень просто.
Представьте, что у вас есть список элементов, и к каждому элементу прикреплена уникальная метка, например «имя: Джон» или «возраст: 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)
В этом словаре хранятся имя, возраст и специальность студента. Обратите внимание, что такие ключи, как «имя» и «возраст», заключены в кавычки? Это потому, что ключи могут быть строками, числами или даже кортежами! Значениями могут быть любые строки, списки, другие словари, что угодно.
А вот и самое интересное. Возможно, вы слышали о принципе 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