Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Лёха в Short’ах Long’ует
Лёха в Short’ах Long’ует
Python: задачки и вопросы avatar
Python: задачки и вопросы
Python: задачки и вопросы avatar
Python: задачки и вопросы
#ловушка
22.01.202517:07
Генератор — это специальная функция, которая возвращает итератор, с помощью которого можно обойти некоторую последовательность значений.

В крупных программах генераторы могут быть лучше в плане памяти и производительности. Они позволяют функциям избежать выполнения всей работы заранее, что особенно полезно, когда результирующие списки большие или получение каждого значения требует длительных вычислений. Генераторы распределяют время, необходимое для производства серии значений, по всем итерациям цикла.



К протоколу генераторных функций добавлен метод next. Он осуществляет переход на следующий элемент в серии результатов, а также снабжает вызывающий код возможностью взаимодействия с генератором для влияния на его работу.

Формально yield теперь имеет форму не оператора, а выражения, которое возвращает
элемент, переданный next.
17.01.202517:00
В данном случае однократное списковое включение «сплющивает» матрицу до вектора, т.е. списка чисел. Чтобы понять такой код, его можно преобразовать к виду простых операторов:

res = []


Чтобы сохранить матрицу, достаточно использовать двойное списковое включение:

[[col + 10 for col in row] for row in M]
23.01.202517:13
Эта задача — логическое продолжение предыдущей. Мы имеем дело с генераторной функцией.

Значения отправляются генератору G путем вызова G.send(значение). Затем код генератора возобновляет выполнение, и выражение yield в генераторе возвращает значение, переданное send. Если вызывается обычный метод G.__next_() (или его эквивалент next(G)) для продвижения вперед, тогда yield просто возвращает None.

#размяться
15.01.202517:07
Мы всегда можем индексировать по строкам и столбцам внутри строк с использованием нормальных операций индексации:

M = [[1, 2, 3], 


Cписковые включения являются мощным инструментом для обработки таких структур, потому что они автоматически просматривают строки и столбцы. Скажем, хотя такая структура хранит матрицы по строкам, для сбора значений второго столбца мы можем просто проходить по строкам и извлекать желаемый столбец или проходить по позициям в строках с индексаций в ходе дела:

[row[1] for row in M] # [2, 5, 8]
Скажите рутине STOP✋

👉 Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Python для инженеров».

Это обучение, заточенное на инженеров — в нём нет ничего лишнего, только то, что необходимо именно вам.

На курсе вы научитесь:

🔹 писать эффективный и поддерживаемый код;
🔹 писать Kubernetes-операторы и модули для Ansible;
🔹 создавать, использовать и тестировать свои API;
🔹 взаимодействовать с инструментами CI/CD, CVS и DevOps системами.

Для того, чтобы вы смогли «пощупать» курс изнутри, даём бесплатный пробный доступ на 3 дня.

А при покупке даём в подарок мини-курс «Python, Чат-боты и DevOps» и видеокурс «Gitlab CI/CD».



Набор до 28 января. Познакомиться с программой и занять своё место на курсе — по ссылке.

Реклама ООО «Слёрм» ИНН 3652901451
#размяться
#ловушка
20.01.202517:00
DataFrame.sort_values(by, *, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)


Булевый параметр ascending отвечает за тип сортировки и по умолчанию равен True, т.е. датафрейм сортируется по умолчанию от меньшего к большему.
Показано 1 - 10 із 10
Увійдіть, щоб розблокувати більше функціональності.