Задать вопрос
@Max1mKa12

Как вывести информацию из списка и кортежа?

У меня телеграм отдаёт список людей из БД
Как пример:
[('user1', 73), ('user2', 43), ('user3', 39), (user4, 37), ('user5', 27), ('user6 22), ('user7, 11), ('user8', 10), ('user9', 10), ('user10', 9)]


Я хочу сделать как-бы топ 10

Я сделал очень топорно и не красиво просто через обращение по индексам к каждому:
people1 = (people[0][0], people[0][1])
  people2 = (people[1][0], people[1][1])
  people3 = (people[2][0], people[1][1])
  people4 = (people[3][0], people[1][1])
  people5 = (people[4][0], people[1][1])
  people6 = (people[5][0], people[1][1])
  people7 = (people[6][0], people[1][1])
  people8 = (people[7][0], people[1][1])
  people9 = (people[8][0], people[1][1])
  people10 = (people[9][0], people[1][1])
await message.answer(f'ТОП 10 ИГРОКОВ:\n{people1}\n{people2}\n{people3}\n{people4}\n{people5}\n{people6}\n{people7}\n{people8}\n{people9}\n{people10}')


И на выходе конечно получается список, но выглядит это не красиво в скобках с запятыми и сам способ не красивый, плиз хелп, как сделать вывод хотя бы и таким способом на чтобы на выходе не было
ТОП 10 ИГРОКОВ:
('user1', 73)
('user2, 43)
('user 3', 43)
(user 4, 43)
('user 5', 43)
('user 6', 43)
('user 7', 43)
('user 8', 43)
('user 9', 43)
('user 10', 43)


Хочется чтобы между каждым было тире и вообще это же такая ерунда(
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Rimush
@Rimush
Ходят легенды о некогда известном, но сейчас уже утраченном знании.
Имя тому знанию "Циклы":
ppls = [('user1', 73), ('user2', 43), ('user3', 39), ('user4', 37), ('user5', 27),
        ('user6', 22), ('user7', 11), ('user8', 10), ('user9', 10), ('user10', 9)]

string = 'ТОП 10 ИГРОКОВ:\n'
for ppl in ppls:
    string += f'{ppl[0]} - {ppl[1]}\n'

print(string)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
ppls = [('user1', 73), ('user2', 43), ('user3', 39), ('user4', 37), ('user5', 27),
        ('user6', 22), ('user7', 11), ('user8', 10), ('user9', 10), ('user10', 9)]
print('ТОП 10 ИГРОКОВ:')
print('\n'.join(map(lambda ppl: f'{ppl[0]} - {ppl[1]}', ppls)))
Ответ написан
@Max1mKa12 Автор вопроса
Нашёл решение спустя пару минут сам
await message.answer(f'ТОП 10 ИГРОКОВ:\n{people1[0]} - {people1[1]}\n{people2[0]} - {people2[1]}\n{people3[0]} - {people3[1]}\n{people4[0]} - {people4[1]}\n{people5[0]} - {people5[1]}\n{people6[0]} - {people6[1]}\n{people7[0]} - {people7[1]}\n{people8[0]} - {people8[1]}\n{people9[0]} - {people9[1]}\n{people10[0]} - {people10[1]}')


Всё так же топорно за-то нормально всё выводит
Ответ написан
Комментировать
aRegius
@aRegius
Python Enthusiast
dict(users)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы