Преобразование словарей
Техники преобразования словарей
Преобразование ключей
## Converting keys to uppercase
original_dict = {
'apple': 1,
'banana': 2,
'cherry': 3
}
transformed_dict = {key.upper(): value for key, value in original_dict.items()}
Отображение и преобразование значений
Манипуляция значениями
## Multiplying numeric values
prices = {
'laptop': 1000,
'phone': 500,
'tablet': 300
}
discounted_prices = {
item: price * 0.9 for item, price in prices.items()
}
Рабочий процесс преобразования
graph TD
A[Original Dictionary] --> B[items() Method]
B --> C{Transformation Strategy}
C --> D[Key Transformation]
C --> E[Value Modification]
C --> F[Filtering]
Шаблоны преобразования
Шаблон |
Описание |
Пример |
Отображение ключей |
Изменение ключей словаря |
Преобразование в верхний/нижний регистр |
Вычисление значений |
Изменение значений |
Проценты, масштабирование |
Условная фильтрация |
Выборочное преобразование |
Удаление/сохранение определенных элементов |
Пример сложного преобразования
## Advanced dictionary transformation
student_data = {
'Alice': {'math': 85, 'science': 90},
'Bob': {'math': 75, 'science': 80},
'Charlie': {'math': 95, 'science': 88}
}
## Calculate average scores
average_scores = {
name: sum(scores.values()) / len(scores)
for name, scores in student_data.items()
}
Вопросы производительности
- Используйте генераторы словарей для эффективных преобразований
- Минимизируйте избыточные итерации
- Учитывайте использование памяти при работе с большими словарями
LabEx поощряет изучение этих техник преобразования для улучшения навыков работы со словарями в Python.