вместительность списков в python

есть программа в которую добавляется элемент (потом идет проверка если этот элемент уже отправлялся то он не отправляется). Так вот в чем суть вопроса: сколько может поместить в себя этот список? и может тормозить из за этого хост (если да то помогите исправить это) сам код

# -*- coding: utf8 -*-
import logging, time
from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import InputFile

import requests

 
API_TOKEN = 'типо_токе'

# Configure logging


# Initialize bot and dispatcher
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

finded = []


def parser():
    token = "типо_токе"
    version = 5.131
    domain = "fmmt_sstu"
    count = 1

    response = requests.get('https://api.vk.com/method/wall.get',

                            params = {
                                'access_token' : token,
                                'v': version,
                                'domain': domain,
                                'count': count
                            }

                            )

    data = response.json()['response']['items'][0]['text']
    return data
parser()

@dp.message_handler(commands=['start', 'help'])
async def send_welcome(message: types.Message):
    """
 This handler will be called when user sends `/start` or `/help` command
 """
    await bot.send_message(message.from_user.id, "Hi!\nЯ бот созданный помогать тебе в учебе\n")

try:
    @dp.message_handler(commands=['vk'])
    async def vk(message: types.Message):
        while True:
            
            title = parser()
            
            test = title
            if title not in finded:
                message1 = title
                print('>>>сообщение  отправил')
                finded.append(test)     
                await bot.send_message(message.from_user.id, message1 )
            else:
                pass 
            time.sleep(60) #задежка между запросами


    if __name__ == '__main__':
        executor.start_polling(dp, skip_updates=True)

except Exception as e:
        print("error: "+ str(e))


     
     

Ответы (1 шт):

Автор решения: CrazyElf

Вместительность то у списка хорошая, пока память не кончится будут в него добавляться элементы. Другое дело, что проверка на вхождение элемента в список имеет сложность O(n) (в худшем случае приходится перебрать весь список, чтобы проверить вхождение). Чем больше элементов в списке, тем больше времени нужно на такую проверку. Когда в списке становится очень много элементов, время такой проверки может стать весьма заметным и может приводить к "тормозам".

Чтобы быстро проверять наличие элемента в коллекции лучше используйте множество. У множества и у словаря сложность проверки вхождения в него элемента (а для словаря - ключа словаря) имеет порядок O(1), т.е. выполняется моментально, даже если коллекция стала очень большой. Ну, там есть некоторые нюансы (разрешение коллизий хэша может занимать дополнительное время), но в целом - примерно так.

→ Ссылка