пятница, 24 июля 2020 г.

Разница в использование open() при requests.post() в разных редакторах.


Функция open() используется для открытия картинки и использования её в методе request.POST.

Если дело происходит в Jupyter Notebook, то надо использовать вместе с close() либо с менеджером контекста with as, иначе после использования картинка остаётся недоступной, т.е. открытой в Python'e.

Если мы используем любой другой обычный редактор кода, то такой проблемы нет.

вторник, 4 июня 2019 г.




В Python'е метод списка index() вернёт индекс только первого элемента. Если есть несколько то вот замена:


list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
[i for i, n in enumerate(list_numbers) if n == 3]

>>[0, 3, 4, 8]

воскресенье, 19 мая 2019 г.

Стрелки вперёд\назад



Надо было реализовать виджет, где стрелки ходят по списку вепрёд\назад, выдавая текущее значение (картинку) в спец. окошко. Убил на этот вопрос не менее 5 часов чистого времени, в итоге так и не справился. Но вот решение, подсказали

class Simpleiterator:
    def __init__(self,somelist):
        self.list = somelist
        self.ind = 0
        self.length = len(somelist)
    def forward(self):
        self.ind +=1
        self.ind = self.ind % self.length
        return self.list[self.ind]
    def back(self):
        self.ind -=1
        self.ind = self.ind % self.length
        return self.list[self.ind]

   
a = Simpleiterator(['q', 'w', 'e', 'r', 't'])



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

А всё оказалось настолько просто.
Причём закольцованный проход по списку я точно делал, и 'остаток от деления на длину списка' использовал, эх...


пятница, 25 января 2019 г.


Написал конвертер дат - переводит текущую либо выбранную дату из нашего юлианского календаря во французский революционный. Аналогичные общедоступные (например этот, первый в выдаче) ошибаются на 12 дней, видимо у них всех один исходник. А мой ок.

Sic semper evello mortem tyrannis!

суббота, 5 января 2019 г.

Структуры данных и алгоритмы




Сеньеры рассказали, что надо знать для собеседования по теме „Структуры данных“. Примечательно, что все четверо опрошенных назвали одинаковые темы, к которым я подобрал короткие ответы. Получилось типа cheat sheet. Код не мой, источник указан либо не указан.


Рассмотрены темы: структуры данных; алгоритмы сортировки; алгоритмы поиска; сложность алгоритмов. Всё изложено совсем коротко, но в достаточном объёме для успешного интервью.
 

понедельник, 24 декабря 2018 г.

В помощь junior'у


'40 вопросов от analyticsvidhya' переведены и опубликованы.
Теперь я собрал свои полезные ссылки типа 'как стать джуниором', 'как искать работу', 'как пройти собеседование по специализации DS и ML'.

25 прикольных вопросов для собеседования по машинному обучению
Спойлер - содержательная ценность невысокая.

Как стать Data Scientist'ом

Машинное обучение за год

Минитест от А.Дьяконова, что значит крайне 'непростой'.

Бонус 1: Jupyter Notebook: галерея лучших блокнотов по ML и Data Science. Очень интересно и полезно для программера любого уровня.
Бонус 2: Набор ноутбуков по линейным моделям от нашего великого современника Ю.Кашницкого
Бонус 3: Отличный канал именно для джунов.



Далее идут советы для соискателей без учёта ML/DS, в основном по Python'у.