Реализации для интеграции с ЯП:
- Jython (Java)
- IronPython (.NET)
- CPython (C)
Реализация для повышенной производительности (JIT-компилятор):
- PyPy.
- Jython (Java)
- IronPython (.NET)
- CPython (C)
Реализация для повышенной производительности (JIT-компилятор):
- PyPy.
Почему этот код не заменит "ананас" на "киви"?
Anonymous Quiz
23%
Датафрейм — неизменяемый тип данных
24%
replace() работает только со строками
10%
У replace() аргументы "что заменить" и "на что заменить" расположены в другом порядке
43%
Нет присвоения результата replace() обратно в переменную
Какие операции над списком удалят элемент?
Anonymous Quiz
24%
L.pop(2)
13%
del L[2]
9%
L.remove(3)
54%
Все вышеперечисленные
В данном коде создается список квадратов (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
8%
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