total4c
@total4c
Говнокодер

Как заполнить список до определенного кол-ва элементов?

Доброе утро!

Написал небольшой код, который получает ID сообщений пользователя:

msg = []

 if (len(answer) == 3) and (answer[0] == "!удалить"):
    id = int(answer[1])
    count = int(answer[2])
     h = vk.method("messages.getHistory", {"peer_id": event.peer_id, "count": 30, "offset": 0})
     for ids in h["items"]:
     if ids["from_id"] == id:
        while len(msg) < count:
              msg.append(ids.get('id'))


Так вот, мне нужно, чтобы массив заполнился до определенного кол-ва элементов, кол-во указано в переменной count
Оно заполняется, но только одним и тем же ID, а мне нужно разными

Получается вот так, к примеру:

[15, 15, 15 ,15 ,15 ,15]
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
@trofimovdev
Python
Заведите привычку прикладывать весь код, необходимый для работы программы. В данном случае совершенно непонятно, что такое answer и его производные.
Если количество элементов не превышает 200 — можно указать число прямо при запросе к API и пройтись по всему ответу. Если больше — необходимо сделать несколько запросов.
Предположительно, должно получиться что-то такое:
msg = []

if (len(answer) == 3) and (answer[0] == "!удалить"):
	id = int(answer[1])
	count = int(answer[2])
	h = vk.method("messages.getHistory", {"peer_id": event.peer_id, "count": count, "offset": 0, "user_id": id})
	for ids in h["items"]:
		if ids["from_id"] == id:
			msg.append(ids.get('id'))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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