Есть такая задача: написать функцию, которая примет список пользователей (каждый пользователь это словарь из возраста и имени), функция должна вернуть новый список словарей (возраст, количество)
То есть функция должна вернуть количество пользователей каждого возраста в виде отдельных словарей.
Словарь я ввела, через функцию смогла вывести только с конкретным возрастом, список не выводится новый. Помогите пожалуйста
def count_users_by_age(users):
age_count = {} # Создаем пустой словарь для хранения количества пользователей по возрасту
for user in users:
age = user.get('age') # Получаем возраст пользователя из словаря
if age in age_count:
age_count[age] += 1 # Если возраст уже есть в словаре, увеличиваем счетчик на 1
else:
age_count[age] = 1 # Если возраста еще нет в словаре, добавляем его и устанавливаем счетчик в 1
# Преобразуем словарь в список словарей (возраст, количество)
result = [{'age': age, 'count': count} for age, count in age_count.items()]
return result
# Пример использования функции
users_list = [
{'age': 25, 'name': 'Вася'},
{'age': 30, 'name': 'Петя'},
{'age': 25, 'name': 'Женя'},
{'age': 30, 'name': 'Егов'},
{'age': 35, 'name': 'Антон'},
]
result = count_users_by_age(users_list)
print(result)
Расскажу позднее.
Не придётся сюда обращаться
с вопросами, отвлекать искуственых
интеллектов от прополки картошки.
Будете получать ответы на ваши
вопросы легко и просто.
Это позволит вам решать вопросы
на уровне образования.
ஜ═════════════════════════════════════════════════ஜ
вот ответ на ваш вопрос.
```python
def count_users_by_age(users):
age_count = {}
for user in users:
age = user["возраст"]
if age in age_count:
age_count[age] += 1
else:
age_count[age] = 1
result = [{"возраст": age, "количество": count} for age, count in age_count.items()]
return result
```
В этой функции используется тот же самый алгоритм, но для создания списка словарей с количеством пользователей каждого возраста мы используем генератор списков вместо явного цикла.