Что выведет на консоль следующая программа:
languages = ["Java", "Python", "Javascript", "C++", "C#"] for lang in languages[:]: languages.remove(lang) print(languages)
Варианты ответов:
["Java", "Python", "Javascript", "C++", "C#"]
[]
Будет сгенерировано исключение
Ничего из выше перечисленного
Правильный вариант: []
(список без элементов)
Выражение languages[:]
возвращает все элементы списка languages. В цикле перебираем все эти элементы и удаляем из списка languages.
Что выведет на консоль следующая программа:
try: letters=["a","b"] print(letters[2]) except (ValueError, IndexError): print("Произошла ошибка")
Варианты ответов:
Index Error
Syntax Error
2
Произошла ошибка
Правильный вариант: Произошла ошибка
. Поскольку список letters имеет только два элемента, то при обращении по индексу 2 программа сгенерирует ошибку
IndexError, которая будет перехвачена в выражении except
. Соответственно будет выполняться выражение print("Произошла ошибка")
Что выведет на консоль следующая программа:
numbers = [1, 2, 3, 4] for idx, item in enumerate(numbers): del item print(numbers)
Варианты ответов:
[1, 3]
[]
[2, 4]
[1, 2, 3, 4]
Ничего из выше перечисленного
Правильный вариант: [1, 2, 3, 4]
Функция enumerate(numbers)
возвращает перебираемый объект, где каждый элемент можно представить в виде кортежа, который состоит из элемента из списка numbers и его индекса:
[(0, 1), (1, 2), (2, 3), (3, 4)]
Далее этот объект перебирается и раскладывается на две переменных: idx (индекс) и item (само число из списка numbers)
for idx, item in enumerate(numbers)
В цикле удаляем объект item:
del item
Это выражение затронет значение в объекте, который возвращается из функции enumerate(numbers)
, однако изначальный список numbers останется неизменным.
Что выведет на консоль следующая программа:
li = ["A"] li.extend("BCD") print(li)
Варианты ответов:
["A", "BCD"]
["A", "B", "C", "D"]
["ABCD"]
Программа сгенерирует ошибку
Правильный вариант: ["A", "B", "C", "D"]
Метод extend()
добавляет в конец списка набор элементов, который передается в качестве параметра.
Метод extend()
рассматривает переданный в него параметр как набор объектов, поэтому в данном случае в реальности мы могли бы написать li.extend(["B","C","D"])
.
И в итоге элементы списка ["B","C","D"] были бы добавлены в конец списка ["A"]
Что выведет на консоль следующая программа:
def func(x, y=None): if y is None: y = [1] y.extend(x) return y print(func([0], [2, 4, 5]))
Варианты ответов:
[2, 4, 5, [0]]
[1, 2, 4, 5, [0]]
[0, 2, 4, 5]
[0, 1, 2, 4, 5]
[2, 4, 5, 0]
Программа сгенерирует ошибку
Правильный вариант: [2, 4, 5, 0]
Здесь функция добавляет в конец списка y элементы из списка x. Поскольку параметр y здесь определен - это список [2, 4, 5]
, то вызов
y.extend(x)
добавляет в конец этого списка элементы из списка [0]
.
Что выведет на консоль следующая программа:
numbers = [1, 2, 3, 4, 5] print(2.0 in numbers, end=" ") print("2" in numbers)
Варианты ответов:
True True
False False
True False
False True
Программа сгенерирует ошибку
Правильный вариант: True False
Оператор in возвращает True
, если объект имеется в некоторой коллекции объектов. Если данные представляют разные типы данные, то применяются
неявные преобразования. Если один элемент операции представляет float, а другой int, то значение типа int приводится к типу float. Поэтому для числа 3.0 возвратится True. В случае со строкой "2" неявное преобразование невозможно,
поэтому возвращается False.
Что выведет на консоль следующая программа:
numbers = [1, 2, 3, 4, 5] print(numbers[:4].pop( ))
Варианты ответов:
[1, 2, 3, 4]
5
[1, 2, 3, 5]
4
1
Правильный вариант: 4
Выражение numbers[:4] выбирает первые 4 элемента списка, а метод pop()
извлекает последний из них.
Что выведет на консоль следующая программа:
items = [5, "t", 5.6, 3, "Python"] print(3.0 in items, end=" ") print(bool(items[-2:-4]))
Варианты ответов:
True True
False False
True False
False True
Правильный вариант: True False
Выражение 3.0 in items
возвращает True, потому что в списке items есть число 3. А выражение bool(items[-2:-4])
возвращает False, потому что выражение
items[-2:-4]
возвращает пустой список [], а пустой список соответствует значению False..
Что выведет на консоль следующая программа:
numbers = [5, 8, 12, 15, 5, 18, 11] print(numbers[:].count(5))
Варианты ответов:
0
1
2
3
5
7
Правильный вариант: 2
Выражение [start:end]
выбирает из списка подсписок с индекса start по индекс end. Если один из параметров (или оба параметра) не определены, то по умолчанию для start равно 0, а end представляет конечный индекс
списка. Соответственно выражение [:]
выбирает все элементы списка. Затем метод .count(5)
вычисляет количество значений "5" в полученном списке. Поскольку в полученном списке
есть два числа со значением 5, то возвращается число 2.
Что выведет на консоль следующая программа:
li = ["in", "as", "if", "be"] print(li[1:][:2])
Варианты ответов:
"in", "as", "if", "be"
"as", "if"
"in", "as"
"in", "as", "if"
"if", "be"
"as", "if", "be"
Правильный вариант: ["as", "if"]
Выражение li[1:]
выбирает из списка подсписок с индекса 1. То есть мы получим список ["as", "if", "be"]
Затем из полученного списка выбираем все элементы по 2-й индекс не включая: li[1:][:2]
.
Что выведет на консоль следующая программа:
li = [10, 20, 30, 40] li[1:3]=[50] print(li)
Варианты ответов:
[10, 50, 30, 40]
[10, 50, 50, 40]
[50, 50]
[10, 50, 40]
[50]
Правильный вариант: [10, 50, 40]
Выражение li[1:3]
выбирает подсписок [20, 30]
Затем этому подсписку присваивается список [50]
. То есть в исходном списке мы заменяем подсписок [20, 30]
на
[50]
.
Что выведет на консоль следующая программа:
arr = [] print(arr * 2)
Варианты ответов:
[]
[][]
None
Будет ошибка
Когда к списку применяется оператор умножения *, то он создает новый список с несколькими копиями элементов исходного списка. Когда вы умножаете список на число, элементы в списке повторяются столько раз. В примере выше, поскольку умножаемый список пуст, результатом будет пустой список [].
Если бы список содержал элементы, например, если arr равен [2, 3], то результатом выражения print(arr*2)
был бы список [2, 3, 2, 3]
.