Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

iegor

  • 38
    вклад
  • 18
    вопросов
  • 62
    ответа
  • 37%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как слить два списка в словарь?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Вариант на случай, когда для не повторяющихся ключей значения не нужно заворачивать в список:
    d = {}
    for k, v in zip(list1, list2):
        if k in d:
            if not isinstance(d[k], list):
                d[k], t = [], d[k]
                d[k].append(t)
            d[k].append(v)
        else:
            d[k] = v
    Ответ написан более трёх лет назад
    11 комментариев
    11 комментариев
  • Как авторизоватся через request?

    Roman K @deliro
    Может
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Django. Админка, можно ли обойтись без неё?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Да, это возможно. Знаю на практике.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как парсить без бана?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    Парсеры палятся на том, что ведут себя как роботы. Люди не обходят все доступные ссылки, только некоторое подмножество без ухода на большую глубину. Чтобы не попасться, надо изобразить группу людей шарящихся по сайту. Для этого надо после разбора страницы входа парсить только две-три ссылки с неё, делать случайные паузы между запросами, потом сбрасывать принятые куки, менять user agent и прокси и парсить другие две-три ссылки. Естественно, прокси не должны быть публичными. Если вы могли найти и скачать их список, то разработчики защиты тоже уже его скачали.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Что за непонятная конструкция responce[items][0][id]?

    sim3x
    sim3x @sim3x
    type(responce)  # dict
    type(responce['items'])  # list
    type(responce['items'][0])  # dict


    Пройдитесь еще раз по учебнику по питону
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Список в списке --> список?

    aRegius
    aRegius @aRegius
    Python Enthusiast
    >>> from collections import Iterable
    >>> def flatten(items):
    	      for x in items:
    		        if isinstance(x, Iterable):
    			            yield from flatten(x)
    		        else:
    			            yield x
    
    >>> a = [1, 2, 3, [4, 5, 6], 7, 8]
    >>> list(flatten(a))
    [1, 2, 3, 4, 5, 6, 7, 8]
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как оптимизировать (ускорить) код на python?

    Roman K @deliro
    1. Используй array вместо списков там, где можно. Иногда выгодней использовать множества. Особенно если ожидаются частые if X in C
    2. Используй генераторы вместо списков там, где возможно
    3. Убери весь говнокод вроде:
    if w != []:
    def listmerge(lstlst):
        all=[]
        for lst in lstlst:
          all.extend(lst)
        return all

    while [] in loc:
    4. Да вообще-то, тут всё говнокод. Лучше убери всё.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Какой принцип работы бота для криптовалюты?

    longclaps
    longclaps @longclaps
    Принцып несложный - покупай, продавай, пока все деньги не слил.
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Какие книги или видеокурсы по python лучше изучать?

    longclaps
    longclaps @longclaps
    А какие ты сам нашел? Если и не искал - тогда мой совет: брось эту затею. Не можешь сам искать инфу - профнепригоден.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как решить задачу про пингвинов?

    AnnTHony
    Антон Федорян @AnnTHony
    Интроверт
    linux = ('_~_', '(o o)', '/ V \\', '/( _ )\\', '^^ ^^')
    linux_count = 5
    for part in linux:
        print('  '.join(['{0:^7s}'.format(part)] * linux_count))
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Как в django-rest Serializator получить список определенных моделей?

    Altaisoft
    Anatoly Scherbakov @Altaisoft
    1) TypeSerializer нигде не вызывается. Откуда Django знает, что вы хотите его использовать?
    2) См. документацию. Вам надо, мне кажется, nested relationship. www.django-rest-framework.org/api-guide/relations/...
    3) serializator - ну зачем ужас такой? На русском "сериализатор". На английском "serializer". И никак иначе.
    4) Лучше уходить от views в виде функций сразу и навсегда. Используйте class based views.
    5) Учитывая, что вы используете DRF и она предоставляет множество классов для этого начиная от APIView. А ещё такие удобные штуки как viewsets и routers.
    Ответ написан более трёх лет назад
    16 комментариев
    16 комментариев
  • Почему функции, работающие с членами с ограниченным доступом дочернего класса, требуют перегрузки для корректной работы?

    longclaps
    longclaps @longclaps
    Такие вопросы даже дочитывать лень.
    Нет в питоне protected.
    Нет.
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Python не открывается в командной строке. В PATCH заходил. Что делать?

    RusTech
    Алексей @RusTech
    pyton как и piton не запустятся с командной строки
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Какая сейчас самая актуальная и перспективная cms на базе django?

    sim3x
    sim3x @sim3x
    цмс для джанги не нужна
    Ответ написан более трёх лет назад
    9 комментариев
    9 комментариев
  • Инструмент для поиска циклических импортов?

    Roman Mindlin @kgbplus
    Их не надо искать, это не проблема. Два раза один модуль импортироваться не будет.
    Подробнее можно почитать например здесь stackoverflow.com/questions/744373/circular-or-cyc...
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Какие есть IDE для питона не на Java?

    sim3x
    sim3x @sim3x
    Все, что не помещается на 10 екранов - разбивается на модули и файлы
    vim с плагинами в файлах на 15к тоже будет спотыкаться

    Логика в мускуле - нонсенс

    Дело вполне может быть в пк. И если idea еще как-то параллелит обработку, то другие - нет
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Как понять CBV и GV?

    sim3x
    sim3x @sim3x
    Разжевывать зачем каждый класс в CBV никто не будет - почитай мануал, почитай код
    Если не понимаешь - пиши вью функциями

    В общем случае, CBV лучше подходят, когда в проекте ничего нет и нужно получить работоспособный скелет сайта. Редактирование, добавление, удаление в три строки - ето удобно

    Функциями писать проще, с точки зрения начинающего программера
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как отсортировать кортеж?

    Roman K @deliro
    Я сейчас скажу прописную истину, но она, оказывается, далеко не очевидна для питон-программистов.
    Кортеж - это не "неизменяемый список". Кортеж - это структура данных. То, что кортеж умеет итерироваться - это хак, о котором даже сам Гвидо говорил.
    Как минимум, существование таких штук, как __slots__ и namedtuple должно натолкнуть на эти размышления.

    Касательно твоей задачи:
    def cmp(x):
        x = x.split('x')
        return int(x[0]) * int(x[1])
    
    sorted(SIZES, key=cmp)
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как очистить миграции в Django?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Правильным действием было привести миграции к актуальному состоянию, а не удалять их. Но раз уж удалили, подключайтесь к базе данных и очищайте таблицу миграций командой
    DELETE FROM django_migrations WHERE app='название_приложения';
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • В чем разница между концепцией ООП в Python и в си-подобных языках?

    fshp
    Максим Мосейчук @fshp
    Как же вы так долго писали на java и не узнали о ключевом слове this?
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • Следующие →
Самые активные сегодня
  • Drno
    • 8 ответов
    • 1 вопрос
  • vabka
    Василий Банников
    • 5 ответов
    • 0 вопросов
  • rPman
    • 5 ответов
    • 0 вопросов
  • simplylinux
    • 2 ответа
    • 2 вопроса
  • saboteur_kiev
    Saboteur
    • 3 ответа
    • 0 вопросов
  • SoreMix
    soremix
    • 3 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации