Answer the question
In order to leave comments, you need to log in
What needs to be changed in the code so that the telegram bot displays news from the dictionary by falling date with the sorted method?
I parsed news from a vape news site, created a json dictionary, when a user clicks on a button, a list of news is displayed, but not the most recent ones go first, I decided to sort using the sorted method, and so that only the last 5 are displayed, but now the bot displays not even in order, but in scatter news
БОТ
import datetime
import json
import logging
from aiogram.types import CallbackQuery
from keyboards.inline.callback_datas import section_callback
from loader import dp
# from aiogram.utils.markdown import hitalic
@dp.callback_query_handler(section_callback.filter(section_name='section_news'))
async def show_news(call: CallbackQuery, callback_data: dict):
await call.answer(cache_time=60)
logging.info(f'call={callback_data}')
with open('news_dict_vape.json') as file:
news_dict_vape = json.load(file)
for k, v in sorted(news_dict_vape.items())[-5:]:
news = f"<b>{datetime.datetime.fromtimestamp(v['article_date_timestamp'])}</b>\n" \
f"{v['article_url']}" \
# f"{v['article_desc']}\n" \
# f"<u>{v['article_title']}</u>\n"
await call.message.answer(news)
СЛОВАРЬ НОВОСТЕЙ
{
"promoobzor---suorin-air-pro-pod-kit": {
"article_date_timestamp": 1624601673.0,
"article_title": "Промообзор - Suorin Air Pro Pod kit",
"article_url": "https://vapenews.ru/product-innovations/2021/06/25/promoobzor---suorin-air-pro-pod-kit.html",
"article_desc": "Героем завершающего нашу промоакцию обзора стала еще одна pod-система, которая как нельзя лучше..."
},
"reload-essential-mod-pafosnyy-konstruktor": {
"article_date_timestamp": 1624601646.0,
"article_title": "Reload Essential mod - \"пафосный\" конструктор...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/25/reload-essential-mod-pafosnyy-konstruktor.html",
"article_desc": "Ну, а на десерт у нас гость так и вовсе экзотический – новый трубомод компании Reload vapor...."
},
"geekvape-obelisk-200-kit---dyuzhe-kompaktnyy-flagman": {
"article_date_timestamp": 1624601623.0,
"article_title": "GeekVape Obelisk 200 kit - дюже компактный флагман...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/25/geekvape-obelisk-200-kit---dyuzhe-kompaktnyy-flagman.html",
"article_desc": "Обзоры новинок электронного парения"
},
"poschupaem-univapo-miso-pod": {
"article_date_timestamp": 1624541073.0,
"article_title": "Пощупаем??? - Univapo Miso POD...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/24/poschupaem-univapo-miso-pod.html",
"article_desc": "Продолжаем изучать продукцию «не на шутку раскрутившегося» бренда Univapo. Сегодня у нас в гостях..."
},
"promoobzor---suorin-ace--pod-kit": {
"article_date_timestamp": 1624525111.0,
"article_title": "Промообзор - Suorin ACE POD kit",
"article_url": "https://vapenews.ru/product-innovations/2021/06/24/promoobzor---suorin-ace--pod-kit.html",
"article_desc": "Продолжаем наш цикл промообзоров на продукцию бренда Suorin. На очереди компактная pod-система,..."
},
"squid-industries-double-barrel-v4-mod---uglovataya-dvustvolka": {
"article_date_timestamp": 1624525086.0,
"article_title": "Squid Industries Double Barrel V4 mod - угловатая двустволка...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/24/squid-industries-double-barrel-v4-mod---uglovataya-dvustvolka.html",
"article_desc": "Обзоры новинок электронного парения"
},
"broadside-mods-salvo-rda---klassicheski-strogo": {
"article_date_timestamp": 1624525045.0,
"article_title": "Broadside Mods Salvo RDA - классически строго...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/24/broadside-mods-salvo-rda---klassicheski-strogo.html",
"article_desc": "Довольно баловаться подиками и под-модами – прибыла серьезная артиллерия. Сегодня у нас два особо..."
},
"poschupaem-univapo-kipo-pod-kit": {
"article_date_timestamp": 1624463478.0,
"article_title": "Пощупаем??? - Univapo Kipo POD kit...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/23/poschupaem-univapo-kipo-pod-kit.html",
"article_desc": "Насладились сигаретниками, надо и честь знать – возвращаемся к подам. Тем более на носу жаркий..."
},
"promoobzor---suorin-trio-85-kit": {
"article_date_timestamp": 1624448764.0,
"article_title": "Промообзор - Suorin Trio 85 kit",
"article_url": "https://vapenews.ru/product-innovations/2021/06/23/promoobzor---suorin-trio-85-kit.html",
"article_desc": "Предлагаем вам небольшой цикл промо-статей, которые будут носить информационный характер. Так..."
},
"smoking-vapor-mi-pod-20-pod-system-iz-kvadrata-v-pryamougolnik": {
"article_date_timestamp": 1624434181.0,
"article_title": "Smoking Vapor Mi-Pod 2.0 POD system - из квадрата в прямоугольник...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/23/smoking-vapor-mi-pod-20-pod-system-iz-kvadrata-v-pryamougolnik.html",
"article_desc": "Обзоры новинок электронного парения"
},
"uwell-caliburn-koko-prime-vision-pod-kit---novoe-videnie": {
"article_date_timestamp": 1624434161.0,
"article_title": "Uwell Caliburn KOKO PRIME Vision POD kit - новое видение...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/23/uwell-caliburn-koko-prime-vision-pod-kit---novoe-videnie.html",
"article_desc": "Обзоры новинок электронного парения"
},
"smok-g-priv-pro-pod-kit---vtoraya-obnovka-na-vneshney-akb": {
"article_date_timestamp": 1624351658.0,
"article_title": "SMOK G-PRIV PRO POD kit - вторая обновка на внешней АКБ...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/22/smok-g-priv-pro-pod-kit---vtoraya-obnovka-na-vneshney-akb.html",
"article_desc": "Обзоры новинок электронного парения"
},
"smok-g-priv-pod-kit-uglovatyy-avtonomnyy-novobranec": {
"article_date_timestamp": 1624351630.0,
"article_title": "SMOK G-PRIV POD kit - угловатый, автономный новобранец...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/22/smok-g-priv-pod-kit-uglovatyy-avtonomnyy-novobranec.html",
"article_desc": "Обзоры новинок электронного парения"
},
"poschupaem-auguse-mtl-dtl-v2-rta": {
"article_date_timestamp": 1624304741.0,
"article_title": "Пощупаем??? - Auguse MTL / DTL V2 RTA...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/21/poschupaem-auguse-mtl-dtl-v2-rta.html",
"article_desc": "Продолжаем тему любимых вами сигаретников, и снова у меня на столе продукция бренда Auguse. Как..."
},
"geekvape-z-rda---privet-ot-zevsa": {
"article_date_timestamp": 1624271174.0,
"article_title": "GeekVape Z RDA - привет от зевса...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/21/geekvape-z-rda---privet-ot-zevsa.html",
"article_desc": "На закуску у нас событие незаурядное – новый обслуживаемый атомайзер от бренда GeekVape...."
},
"aspire-pockex-box-kit---starter-stik": {
"article_date_timestamp": 1624271152.0,
"article_title": "Aspire PockeX Box kit - стартер стик...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/21/aspire-pockex-box-kit---starter-stik.html",
"article_desc": "Открывает раздел новостей сегодня пока неизданная новинка одного из самых плодовитых брендов –..."
},
"poschupaem-auguse-era-pro-rta": {
"article_date_timestamp": 1624207889.0,
"article_title": "Пощупаем??? - Auguse ERA PRO RTA...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/20/poschupaem-auguse-era-pro-rta.html",
"article_desc": "Сегодня обзор, которого вы вероятно ждали. А все потому что, что пилотный проект бренда Auguse –..."
},
"aspire-minican-pod-kit-melkiy-kalibr": {
"article_date_timestamp": 1624084944.0,
"article_title": "Aspire minican+ POD kit - мелкий калибр...",
"article_url": "https://vapenews.ru/product-innovations/2021/06/19/aspire-minican-pod-kit-melkiy-kalibr.html",
"article_desc": "Второй наш гость имеет сходный конструктив, небольшой вес и естественно компактные габариты –..."
}
}
Answer the question
In order to leave comments, you need to log in
If we are talking about the commented out sorted(list), then in my opinion it does not sort inplace. It should return a sorted list. And in general any iterable object.
The inplace list sorts the list.sort() method, in my opinion
, and you can specify the sorting direction in the parameters of the function and the method reverse=True
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question