current_player = list(filter(lambda player: player.get('id') == player_id, dota_players2)) Добавил в конце [0] и всё заработало, но не совсем понимаю, почему именно?
Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой </> Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.