• Почему не работает UPDATE запрос в SQLite?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    И кто вас всех только учит писать запросы с кавычками?.. В каких случаях строка "user_id" может быть равна некому числу? Зачем проверять равенство строки числу, если нужно проверять равенство значения поля? Если уж припёрло зачем-то кавычками обрамлять имена таблиц и полей, то хоть правильные бэктики используйте.
    Ответ написан
    3 комментария
  • Как удалить дубликаты из списка?

    @dmshar
    То, что вы написали - некоторые данные в фигурных скобках - согласно синтаксису Python не есть список. Это множество. Множество - это такая структура, которая не допускает повторяющихся элементов внутри себя. Т.е. присвоив эту строку некой переменной, ей автоматом будет приписан тип "set" и при выполнении этой операции все повторяющиеся элементы будут автоматом удалены.
    Вот пример
    slt={'threads/4862302', 'threads/4862302', 'threads/4862302/'}
    print (slt)

    и результат
    {'threads/4862302/', 'threads/4862302'}

    Если вдруг вы считаете, что 'threads/4862302/' и 'threads/4862302' - это один и тот-же элемент, то вам надо предварительно просто поудалять символы '/' из строк, например - вот так:
    slt={'threads/4862302', 'threads/4862302', 'threads/4862302/', 'threads/4862303/','threads/4862304/'}
    sa=set()
    for x in slt:
        if x[-1]=='/':
            x=x[:-1]
        sa.add(x)
    print (sa)

    и результат:
    {'threads/4862304', 'threads/4862303', 'threads/4862302'}
    Ответ написан
    Комментировать
  • Как удалить дубликаты из списка?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Ну так нормализуйте - удалите лишнюю '/' там где не надо - да оберните в set как уже посоветовали:

    set(x[:-1] if x[-1] == '/' else x for x in data)
    где data - ваш список
    Ответ написан
    1 комментарий
  • Как можно ускорить запрос или какой индекс использовать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну во первых смысл неправильный. У тебя - взаимоисключающие предикаты. Поэтому надо использовать OR.
    Уже написали выше про это.

    Попробуй так. Должно быть быстрее.

    SELECT * FROM data WHERE name LIKE "Иван%";

    И построй индекс по name. А лидирующий метасимвол % лучше не ставить т.к. это отключает
    возможность использования классическийх B-Tree индексов.
    Ответ написан
    Комментировать
  • Странная подмена IP адреса, как исправить?

    fara_ib
    @fara_ib
    https://cyberfilter.ru/ Облачное решение, позволяющее операторам связи производить фильтрацию запрещенных ресурсов по URL, домену или IP адресу. Выполнение требований 149-ФЗ ("об информации"), 139-ФЗ ("о защите детей"), 187-ФЗ ("антипиратский закон"), 398-ФЗ ("борьба с экстремизмом"), решений судов без потери абонентов и внедрения дорогостоящих DPI решений.

    фильтруют и гоняют трафик через своии прокси ;) обычное дело

    626e56b222ce8730024636.jpeg
    626e55a639f65408005418.jpeg
    626e55b2bea5f921628152.jpeg
    626e55bd54687659076577.jpeg
    626e55c83ccf5380141601.jpeg
    626e55d12f929783423403.jpeg
    Ответ написан
    Комментировать