• Как отфильтровать список и удалить дубликаты?

    @deliro
    0. Создаёшь пустое множество S
    1. Идёшь по списку
    2. Строку делишь на страну-язык
    3. Проверяешь, что язык не в S
    4. Добавляешь его в S и в результирующий список

    Хорош элементарные вопросы строчить по фундаменту языка и CS в целом

    Ну и как сказал Игорь Маркин, у тебя несколько вариантов, какой строке отдать предпочтение. Первой, последней, рандмной, какой-то ещё? Мы за тебя решать будем?
    Ответ написан
    2 комментария
  • Что такое range() в Python 3?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    В целом всё верно. range реализоан как класс, при его инстанцировании (или вызове в качестве функции. что в питоне, суть, одно и тоже) формируется инстанс этого класса, который поддерживает протокол получения итератора.
    Если воспользоваться этим протоколом (iter(range(3, 33))), то получим итератор - инстанс класса range_iterator.
    Ещё инстанс range позволяет получать доступ к элементам по индексу, делать срезы, инвертировать, получать количество элементов, проверять на вхождение элемента и т.д.
    Ответ написан
    1 комментарий
  • Не работает код?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    click() - что-то возвращает? Нет. Так зачем ты результат этого метода присваиваешь переменной press_buttom?
    И правильно писать "button," а не "buttom"
    Ответ написан
    Комментировать
  • Что такое Middlewares в aiogram?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    В общем случае, Middlewares это прослойка, вызываемая автоматически, после request и перед обработкой его сервером. Может использоваться, например, для логгирования или добавления полезной нагрузки.
    Пример из доков, который добавляет в данные каждого сообщения значение счетчика
    from aiogram import BaseMiddleware
    from aiogram.types import Message
    
    
    class CounterMiddleware(BaseMiddleware):
        def __init__(self) -> None:
            self.counter = 0
    
        async def __call__(
            self,
            handler: Callable[[Message, Dict[str, Any]], Awaitable[Any]],
            event: Message,
            data: Dict[str, Any]
        ) -> Any:
            self.counter += 1
            data['counter'] = self.counter
            return await handler(event, data)
    Ответ написан
    Комментировать
  • Почему ошибка не обрабатывается?

    bravebug
    @bravebug
    During handling of the above exception, another exception occurred

    Во время обработки вышеупомянутого исключения произошло другое исключение

    Т.е. код в блоке "except" сам порождает исключение.
    Ответ написан
    Комментировать
  • Как получить значение в строке из файла?

    bravebug
    @bravebug
    for line in open('1.txt'):
        line = line.strip()
        if line.startswith("ip"):
            print(line.split("=")[1].strip())

    1) цикл for сам по себе может итерироваться по строкам файлового объекта и сам закроет файл
    2) второй аргумент функции open можно не передавать, т.к. "r" - это значение по-умолчанию.
    3) я бы позаботился о возможных пробельных символах, хотя не зная точно формат файла и другие имена в файле трудно судить как лучше.
    Ответ написан
    Комментировать
  • Текст накладывается сам на себя?

    Vindicar
    @Vindicar
    RTFM!
    Добавлю, что
    F.close
    Не делает ровным счётом ничего, так как вы не вызываете метод close.
    Должно быть
    F.close()
    А ещё лучше заменить вот это:
    F = open("txt","w")
      for i in password:
        F.write(str(n)+ password + '\n')
        F.close

    На вот это
    with open("txt","w") as F:
        for i in password:
          F.write(str(n)+ password + '\n')
    Ответ написан
    Комментировать
  • В чем разница между pk и id?

    @deliro
    pk — это алиас для поля, которое является primary_key. По умолчанию оно и является id. Но может быть, например, uuid или вообще любым другим, у которого primary_key=True
    Использовать pk предпочтительней, однако, в 99% проектах разницы никакой нет.
    Ответ написан
    Комментировать