В данном коде создается список квадратов (x2) только для четных чисел из диапазона от 0 до 4 включительно, то есть 0, 2 и 4. Квадраты этих чисел составят: 0, 4 и  16 соответственно, что в итоге даст 0, 4, 16.
  Как вывести диагональ матрицы [1, 5, 9]?
  Anonymous Quiz
    68%
    A. [M[i][i] for i in range(3)]
      
    16%
    B. [M[i][len(M) - 1 - i] for i in range(len(M))]
      
    6%
    C. [M[0][i] for i in range(3)]
      
    10%
    Никто из перечисленных
      
    Что выведет этот код?
  Anonymous Quiz
    9%
    A) []
      
    71%
    B) [[2, 1.0, 4], [4, 2.0, 8], [6, 3.0, 12]]
      
    6%
    C) [[6, 3.0, 12]]
      
    15%
    D) [[0, 0.0, 0], [2, 1.0, 4], [4, 2.0, 8], [6, 3.0, 12]]
      
    Здесь мы создаем список, который включает подсписки x, x / 2, x * 2 только для тех значений x из диапазона от -6 до 6 с шагом 2, которые больше 0. Значения, которые удовлетворяют условию x > 0, это 2, 4 и 6, следовательно, результат будет [2, 1.0, 4, 4, 2.0, 8, 6, 3.0, 12].
  Какой способ суммировать элементы матрицы M самый быстрый? #джуну
  Anonymous Quiz
    36%
    A. sum(sum(row) for row in M)
      
    9%
    B. for row in M:     for elem in row:         total += elem
      
    31%
    C. sum(x for row in M for x in row)
      
    24%
    Скорость одинаковая, даже на крупных матрицах
      
    Вариант C использует генераторное выражение, которое является наиболее эффективным способом суммирования элементов матрицы, так как не требует создания промежуточного списка. Цикл for в варианте B включает двухуровневый цикл, то есть является самым медленным вариантом. Вариант A менее эффективен, чем C, так как включает дополнительный вызов sum().
  Какой способ добавления создания ключей в словаре не сработает?
  Anonymous Quiz
    12%
    my_dict.update({'c': 3})
      
    19%
    my_dict.setdefault('c', 3)
      
    25%
    my_dict = {**my_dict, 'c': 3}
      
    44%
    Все способы рабочие
      
    Метод update() позволяет добавить ключи и значения из другого словаря или пары ключ-значение.
Метод setdefault() добавляет ключ с определенным значением, если данный ключ не существует в словаре.
   
Вы можете создать новый словарь с помощью выражения словаря и затем объединить его с существующим словарем.
  
my_dict = {'a': 1, 'b': 2}
my_dict.update({'c': 3})
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}
Метод setdefault() добавляет ключ с определенным значением, если данный ключ не существует в словаре.
my_dict = {'a': 1, 'b': 2}
my_dict.setdefault('c', 3)  # добавляет 'c' с значением 3
my_dict.setdefault('a', 5)  # не изменяет существующий ключ 'a'
print(my_dict)  # {'a': 1, 'b': 2, 'c': 3}
Вы можете создать новый словарь с помощью выражения словаря и затем объединить его с существующим словарем.
my_dict = {'a': 1, 'b': 2}
my_dict = {**my_dict, 'c': 3}
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}
Какие типы объектов не являются итерируемыми? #джуну
  Anonymous Quiz
    10%
    Строки
      
    9%
    Объекты файлов
      
    59%
    Целочисленные значения
      
    22%
    Все вышеперечисленное итерируется
      
    Что выведет код выше?
  Anonymous Quiz
    69%
    <class 'tuple'>
      
    6%
    <class 'string'>
      
    10%
    <generator object <genexpr> at 0x7f09f5f7e400>
      
    15%
    Error
      
    Какой тип объекта является изменяемым?
  Anonymous Quiz
    20%
    Числа
      
    17%
    Строки
      
    13%
    Кортежи
      
    51%
    Объект файла
      
    Кто из нижеперечисленных НЕ является числом с плавающей точкой?
  Anonymous Quiz
    1%
    1.23
      
    28%
    1.
      
    14%
    3.14е-10
      
    56%
    Все являются
      
    Python не сравнивает результат False выражения 1 == 2 с числом 3 — формально это означает то же, что и выражение 0 < 3, которое дает True.