Задать вопрос
  • Как найти в матрице средний или два средних столбца?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    m3 = [
        [11, 12, 13],
        [21, 22, 23],
        [31, 32, 33],
    ]
    m4 = [
        [11, 12, 13, 14],
        [21, 22, 23, 24],
        [31, 32, 33, 34],
    ]
    mid = lambda m: [
        row[
            (len(m[0]) - 1) // 2
            :len(m[0]) // 2 + 1
        ] 
        for row in m
    ]
    assert mid(m3) == [[12], [22], [32]]
    assert mid(m4) == [[12, 13], [22, 23], [32, 33]]
    Ответ написан
  • Вывести в bash только дубликаты строк из файлов?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Я бы предложил еще решение вроде такого:
    py "set(open('1'))&set(open('2'))"
    Но это уже скорее на питоне решение, а py в стандартном наборе не посавляется из коробки.
    Кроме того, это решение не эффективно при больших файлах.
    Ответ написан
    Комментировать
  • Какое наиболее рационально хранение поста в django?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Пост нормально хранить в виде обычного HTML кода. Тег <p> - это абзац. <div> для этой цели вы применяете неправильно.
    Ответ написан
    4 комментария
  • Как в джанго работают пустые классы?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Ну, во-первых, он не пустой. Там классовый атрибут есть и докстринг.
    Во-вторых, этот класс наследует всё от двух других классов. В этом его смысл. Если у папы и у... второго папы были атрибуты, то "сынок" унаследует их все. Вот так вот. Изучайте ООП.
    Ответ написан
    Комментировать
  • Дистанция передачи 433 МГц RF?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Говорят это самые дешевые и самые фиговые (нестабильные, ненадежные) модули приемо-пердатчика на али.
    С ними может быть все что угодно, могут быть настроены друг на друга плохо, могут непропаяны быть...
    Посмотрите вот у Алекса есть каталог проверенных компонентов, а также много статей и роликов о том, как их заюзать.
    Ещё могут влиять помехи самой малинки.
    Ответ написан
    3 комментария
  • Как оставить файлы в пакете?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Читайте, пожалуйста, документацию. Там всё написано.
    Ответ написан
    Комментировать
  • Метод list() в Python возвращает непустой список. Почему так?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Типичная ошибка, которая рассматривается в каждом учебнике по питону.
    Во-первых, list - это не метод, а тип, который инстанцируется в список, если его вызвать.
    Во-вторых, вот в этой строчке def __init__(self, elements=list()): создаётся список. Он создаётся оин единственный раз при объявлении класса. Значение этого списка будет присвоено аргументу elements по умолчанию при каждом вызове конструктора без указания этого аргумента.
    То есть один и тот же список будет сохранён в атрибутах всех объектов этого типа, которые были инстанцированы без указания параметра.
    У всесх ваших таких экземплярах внутри ссылка на один и тот же список. Если через одну ссылку в список добавить элеенты, то через другую ссылку доступен тот е самый список с уже добавленными элементами.
    Ответ написан
    Комментировать
  • Как при регистрации пользователя сделать объект?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вы немного неправильно называете инстанс. Модель - это класс, вы его создаете сами.
    Инстанс - это экземпляр класса. создаётся. как это ни удивительно, инстанцированием класса и последующим сохранением в БД с помощью метода save()
    Ответ написан
    Комментировать
  • Как называется эта фигура?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Прямоугольник с галтелями.
    Ответ написан
    Комментировать
  • Какие данные нужно передавать в блок зарядки, чтобы активировать режим Fast Charge?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Стали появляться вот такие шнурочки в ассортименте:
    https://aliexpress.ru/item/4000553107163.html?spm=...
    Заказал, еще не пришли.
    Вот конкретно вот этот заказал: https://aliexpress.ru/item/4000227441209.html?spm=...
    Ответ написан
    Комментировать
  • Как сделать маску в far manager?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вот винды у меня лет 5 уже нет и ни о чем кроме фара не жалею.
    Полез вот и специально скомпилировал его себе на убунту.
    Там есть очень хорошая справка Вот она русским по бирюзовому как раз про регекспы:
    5f7cc2d58727d995090457.png
    Ответ написан
    Комментировать
  • Как можно оптимизировать код подсчета букв в строке?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    sum(map(str.isalpha, a))
    Ответ написан
    Комментировать
  • В чем смысл пакетов в python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    пакеты нужны для стандартизации и унификации. С помошью пакетного менеджера пакет может быть установлен из сециального централизованного репозитория, из системы контроля версий, из спейиального упакованного файла.
    Пакет несет в себе всю необходимую информациб о своих зависимостях (какие еще пакеты нужны для его работы), информацию об авторстве, ребованиях к версии питона и других пакетов...
    Если оформить проект пакетом, его становится проще разворачивать в продакшн-среде.

    вы можете собрать лектрощиток в подьезде из проволочек, пружинок, изоленты и горячего клея на скрутках, а можете поставить стандартную дин-рейку. на нее установить стандартные автоматы и УЗО, использовать стандартные провода, наконечники и клеммники к ним. Ту же самую функциональость можно получить из дерьма и палок, но она не будет надежной и выглядеть будет соответствующе, а любой таракан устроит пожар. С пакетами тоже можно устроить "пожар", особенно если не умеешь программировать и "накрутить проводов" кажется более простым решением.
    Ответ написан
    Комментировать
  • Как найти самый частый символ в строке?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Есть сколько угодно способов, но с Counter будет самым простым. Чем вам этот способ не нравится?
    Если это вопрос, а не задание, то вы, наверно. постарались придумать свой способ, что у вас не получилось? Давайте мы вам поможем. Если это задание, а не вопрос, то это противоречит правилам ресурса.
    Ответ написан
  • Некорректный перенос строк сообщения, в чём дело?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Посмотрите в 'time1.txt' после последней строки нет абзаца, а во всех остальных, скорее всего есть.
    Или в каких-то еще тоже нет и прблема плавающая, зависит от того последнюю строку выбрал рандом или нет и есть в этой строке абзац или нет.
    Обрабатывайте загруженные строки filter(None, map(str.rstrip, <lines_iter>))
    Ответ написан
    Комментировать
  • Каков предпочтительный способ записи длинных строковых литералов в Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Куда уж читабельнее? Можно в тройных кавычках, но там неудобно с отступами, приходится "ломать" форматирование или мириться с паразитными пробелами в начале кадой строки.
    Тот, способ, что у вас, ИМХО, оптимален. Особенно для форматных строк.
    Поосторожнее только с запятыми, а-то ваша строка вмиг превратится в кортеж строк.
    Ответ написан
    Комментировать
  • Существует ли обратный прокси для ssh?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    iptables
    Ответ написан
    Комментировать
  • Как с помощью regexp удалить теги, у которых есть атрибут class и style, вместе с контентом?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Плохая идея регекспами такое парсить. Лучше воспользйтесь lxml или любым таким парсером.
    Проблема в том, что у вас внтури такого тега может (теоретически) быть непредсказуемая вложенность других тегов. Рекурсивные и контекстные вещи регекспами делаются очень неудобно.
    Разбейте весь текст запроса на лексемы, например так:
    re.split('<|>')
    И вы получите сисок, где нулевой и все четные элементы - это фрагменты текста, а все нечетные по индексу элементы - это содержимое тегов. Содержимое закрывающих тегов можно распозать по слешу.
    Дальше нужно запрограммировать конечный автомат с двумя состояниями, которому можно скормить этот список, а вернёт он такой же список, но отфильтрует ненужные элементы.
    Грубо говоря, в первом состоянии вы перебираете входной список и когда встречаете нечетный эелемент (тег), начинающийся со слова span и содержащий атрибуты, сбрасываете счетчик в ноль и переходите во творое состояние.
    Во втором - перебираете се элементы и инкрементируете счетчик каждый раз когда попадается открывающий тег, и декрементируете когда попадается закрывающий (нечетный элемент, начинающийся начинается со слеша). Если счетчик снова стал нулём, переходите в первое состояние.
    На выход следует пропускать только элементы находясь в первом состоянии. Второе состояние подавляет выхлоп.
    def f(lexems): 
        state, deep = 0, 0 
        for i, lex in enumerate(lexems): 
            if state == 0: 
                if i%2 and lex.startswith('span '): 
                    state = 1 
                    deep = 1 
                else: 
                    yield f'<{lex}>' if i%2 else lex 
            else: 
                if i%2: 
                    deep += -1 if lex.startswith('/') else 1 
                if deep == 0: 
                    state = 0
    Ответ написан
    Комментировать
  • Не могу передать строку в writerow, что не так?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вот это кошмар...
    Нагромождение каких-то ненужных приседаний и реверансов. Склажывается ощущение. что код писался вообще без понимания что и как работает.
    Тут проще пересчитать строки, которые не требовалось бы исправить: ноль таких строк.
    Вы бы привели хоть пример что у вас там в property подается. А-то на кофейной гуще гадать приходится какая из сотни ошибок-таки окончательно стедала неработоспособным код.

    Вот здесь вообще какая-то ерунда:
    for i in range(j, len(property)):
        k = j
        write_to_csv(property[k])
        k += 1
      j = len(property)

    Ладно, с отступами беда. Но зачем эти бессмысленные присвоения? Зачем этот бессмысленный цикл, если вы в нем обрабатываете один и тот же элемент много раз?
    Прекращайте уже такое писать. Смысла нет. Не ваше.

    Похоже (разводы гущи так подсказывают за неимением других данных) вы не понимаете что передаёте в эту свою функцию. Ситуацию бы прояснила публикаия содержимого переменной roperty
    Ответ написан
    3 комментария