Задача в python - Общение Python мододелов

Вопрос Задача в python

Регистрация
13 Авг 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Есть такая задача: написать функцию, которая примет список пользователей (каждый пользователь это словарь из возраста и имени), функция должна вернуть новый список словарей (возраст, количество)

То есть функция должна вернуть количество пользователей каждого возраста в виде отдельных словарей.

Словарь я ввела, через функцию смогла вывести только с конкретным возрастом, список не выводится новый. Помогите пожалуйста
 
Регистрация
16 Июн 2013
Сообщения
105
Репутация
0
Спасибо
0
Монет
0
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)
 
Регистрация
24 Июл 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
301664371_296c46c1d7c215b77cc3051dfdabcf46_240x240.jpg

301664371_00fa99778014ffd4bd4e43c82ba7ed06_240x240.jpg

301664371_aff24e20930d89d5c0687841a377e370_240x240.jpg

_
 
Регистрация
29 Дек 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Расскажу позднее.
Не придётся сюда обращаться
с вопросами, отвлекать искуственых
интеллектов от прополки картошки.
Будете получать ответы на ваши
вопросы легко и просто.
Это позволит вам решать вопросы
на уровне образования.
ஜ═════════════════════════════════════════════════ஜ

вот ответ на ваш вопрос.

```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
```

В этой функции используется тот же самый алгоритм, но для создания списка словарей с количеством пользователей каждого возраста мы используем генератор списков вместо явного цикла.

Пример использования функции:

```python
users = [
{"имя": "Алиса", "возраст": 23},
{"имя": "Боб", "возраст": 28},
{"имя": "Кэрол", "возраст": 23},
{"имя": "Дэвид", "возраст": 30},
{"имя": "Ева", "возраст": 28},
{"имя": "Фрэнк", "возраст": 23}
]

result = count_users_by_age(users)
print(result)
```

Этот код должен вывести следующий результат:

```python
[{'возраст': 23, 'количество': 3}, {'возраст': 28, 'количество': 2}, {'возраст': 30, 'количество': 1}]
```

Теперь функция должна возвращать список словарей с количеством пользователей каждого возраста.
 
Сверху Снизу