Simulative – Telegram
7.39K subscribers
1.7K photos
70 videos
1 file
1.26K links
Привет! Мы — образовательная платформа в сфере аналитики Simulative: simulative.ru

Создаём курсы-симуляторы, где обучаем не на «апельсинках», а на кейсах из реального бизнеса.

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
​​GROK IT! Ответ на задачу об операторе *= 🔔

Вчера опубликовали вопрос: Что выведет код?

 mylist = [2, 3]
mylist *= 3

print(mylist)

» 6, 9
» 2, 3, 2, 3, 2, 3
» 8, 27
» Error

ОТВЕТ: 2, 3, 2, 3, 2, 3


💥 ОБЪЯСНЕНИЕ:

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

1. Что делает оператор *=
2. Что происходит при применении *= к списку

## ОПЕРАТОР *=

Оператор *= - один из операторов присваивания. Он умножает правый операнд с левым и присваивает результат правому.

 a *= 3

равносильно

 a = a*3

## УМНОЖЕНИЕ СПИСКА НА ЧИСЛО

Далее - у нас происходит умножение списка на число. Такая операция приводит к «повтору» исходного списка заданное число раз.

Т.е. mylist *= 3 возвращает список из трех повторяющихся исходных списков. В нашем случае это даст 2, 3, 2, 3, 2, 3.

## ПРИМЕЧАНИЕ

Кстати говоря, похожим образом дублировать можно не только списки, но и другие объекты. Например, строки.

 str = 'abc'
print(str *= 3)

#'abcabcabc'

-----

❗️Таким образом, правильный ответ - [2, 3, 2, 3, 2, 3]


#grokit #python
А Вы используете операторы присваивания?
Anonymous Poll
81%
Да, удобно!
10%
Да, но только +=
10%
Нет, а надо бы :с
0%
Не шарю в Python :(
💉 Как программисту быть здоровым? 🤨

Сегодня, в Международный День Здоровья, мы решили особое внимание уделить не только правилам программирования, но и правилам заботы о cвоем здоровье. Программист, между прочим, - довольно опасная профессия!

Подробно ознакомьтесь с советами, которые мы для Вас подготовили, чтобы избежать многих неприятных недугов! 😉

Полезного чтения 😊

P.S. Имеются противопоказания. Перед применением посоветуйтесь с тим лидом.

#itresume
​​Рубрика «Вопросы с собеседований» 💥

Оператор EXPLAIN для оптимизации SQL-запросов

Ответ:

При выполнении SQL запроса система пытается «найти» оптимальный способ выполнения этого запроса. Посмотреть итоговый план выполнения Вы можете с помощью ключевого слова EXPLAIN.

1. КАК ИСПОЛЬЗОВАТЬ

Использовать оператор EXPLAIN очень просто - достаточно добавить его перед основным запросом. Например:

  EXPLAIN SELECT * from table t

2. ВЫВОД КОМАНДЫ

Результатом работы EXPLAIN в MySQL будет 10 полей (значения взяты для примера):

  id: 1
select_type: SIMPLE
table: categories
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 4
Extra:
1 row in set (0.00 sec)

Давайте разберем каждое из этих полей.

Id – порядковый номер для каждого SELECT’а внутри запроса (когда имеется несколько подзапросов)

Select_type – тип запроса SELECT (SIMPLE - без подзапросов и UNION, PRIMARY - внешний запрос в джоине, DERIVED - часть подзапроса в FROM, SUBQUERY - первый SELECT в подзапросе и так далее).

Table – таблица, к которой относится выводимая строка

Type — указывает на то, как MySQL связывает используемые таблицы (System – таблица имеет только одну строку, Eq_ref – все части индекса используются для связывания, All – для нахождения соответствующих строк используются сканирование всей таблицы и так далее). Именно в этом поле заложена пища для размышлений - здесь можно выявить слабое место.

Possible_keys – показывает индексы, которые могут быть использованы для нахождения строк в таблице.

Key– указывает на использованный индекс.

Key_len – длина индекса, которую оптимизатор MySQL выбрал для использования.

Ref – указываются столбцы или константы, которые сравниваются с индексом, указанным в поле key.

Rows – отображает число записей, обработанных для получения выходных данных. Еще одна «точка роста» - тут Вы можете понять, как стоить поработать над Вашими джоинами и фильтрами.

Extra – содержит дополнительную информацию, относящуюся к плану выполнения запроса.

3. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ

После EXPLAIN в запросе вы можете использовать ключевое слово EXTENDED и MySQL покажет вам дополнительную информацию о том, как выполняется запрос.

Чтобы увидеть эту информацию, вам нужно сразу после запроса с EXTENDED выполнить запрос SHOW WARNINGS. Наиболее полезно смотреть эту информацию о запросе, который выполнялся после каких-либо изменений сделанных оптимизатором запросов.


4. ДОКУМЕНТАЦИЯ

С полной информацией Вы можете ознакомиться в официальной документации MySQL (там все понятно написано и проиллюстрировано примерами) 👉🏻 http://bit.ly/3wCaBpi

Еще один полезный источник (еще и на русском языке!) - документация Postgres Pro 👉🏻 http://bit.ly/3utX6WT


#interview_problems #sql
💥 Глаголы R vs Операторы SQL 💪🏻

Как лучше работать с таблицами: с помощью R или SQL? Отвечаем - оба языка хороши!

Вместе с R4marketing проводим параллель между синтаксисом R и SQL, чтобы Вам было проще освоиться!

В карточках разбираем основные функции, библиотеки и инструменты для ловкой манипуляции данными 🤤

#sql #rstat #cheatsheet
🔥1