@JivetH

Как вывести только данные по одному ключу?

пытаюсь составить код, чтобы через библиотеку BrawlStats вывести только имена членов клуба. Получился вот такой вариант:
player = client.get_profile('8QL229LQR')
club = player.get_club()
members = club.members

for i, m in enumerate(members['name'], 1):
    print(f'{i}: {m}')

Код не работает, возникает ошибка
for i, m in enumerate(members['name'], 1):
                          ~~~~~~~^^^^^^^^
  File "box\box_list.py", line 69, in box.box_list.BoxList.__getitem__
TypeError: list indices must be integers or slices, not str

Если не пытаться вывести только имена, то получается такое:
1: {'tag': '#JUVQ9CCQ', 'name': 'SevenUpt', 'name_color': '0xffff8afb', 'role': 'vicePresident', 'trophies': 31213, 'icon': {'id': 28000170}}
2: {'tag': '#G00JUL9G', 'name': 'я тут ты труп', 'name_color': '0xffcb5aff', 'role': 'vicePresident', 'trophies': 31027, 'icon': {'id': 28000168}} и т.д.

Хотелось бы привести хотя-бы к варианту
1. {'name': 'SevenUpt;'}
2. {'name': 'я тут ты труп'} и т.д.

Я понимаю, в чём смысл ошибки, но не понимаю как её исправить.

P.S. Также хотел бы узнать, как получить число последней строки при выводе, указанном вначале.
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Код не работает, возникает ошибка

Ошибка возникает потому-что members - список, а вы пытаетесь обратиться к нему как словарю.
В приведенном коде словарь с элементом name это m, получайте значение из него.
P.S. Также хотел бы узнать, как получить число последней строки при выводе, указанном вначале.

Данное число будет храниться в i
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы