diff --git a/questions.md b/questions.md index 4cecbad..a0b0d18 100644 --- a/questions.md +++ b/questions.md @@ -2,6 +2,9 @@ ## Последовательности +- [Docs Python (Sequences)](https://docs.python.org/3/reference/datamodel.html#sequences) +- [Docs Python (Sequence Types — list, tuple, range)](https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range) + ### Что такое последовательность Последовательностью в Python называется итерабельный объект, который поддерживает эффективный доступ к элементам с использованием целочисленных индексов через специальный метод `__getitem__()` и поддерживает метод `__len__()`, который возвращает длину последовательности. @@ -108,8 +111,6 @@ lst.reverse() # Теперь lst = [9, 5, 4, 3, 2, 1, 1] ``` - - ### Что такое диапазон Диапазоны – неизменяемые последовательности чисел, которые задаются началом, концом и шагом. Представлены классом range (в Python 2 – xrange; range в Python 2 – это функция, которая возвращает список). @@ -149,9 +150,11 @@ for x in [1, 2, 2, 2, 3, 3, 1]: ### Как сравниваются последовательности +- [Docs Python (Value comparisons)](https://docs.python.org/3/reference/expressions.html#value-comparisons) + Две последовательности равны, если они имеют одинаковый тип, равную длину и соответствующие элементы обоих последовательностей равны. -Последовательности одинаковых типов можно сравнивать. Сравнения происходят в лексикографическом порядке: последовательность меньшей длины меньше, чем последовательность большей длины, если же их длины равны, то результат сравнения равен результату сравнения первых отличающихся элементов. +Последовательности одинаковых типов можно сравнивать. Сравнение происходит в лексикографическом порядке — элементы сравниваются слева направо. Если найдены отличающиеся элементы — результат сравнения определяется ими. Если все сравниваемые элементы равны, тогда последовательность меньшей длины считается меньшей. ## Множества и отображения @@ -197,7 +200,7 @@ for x in [1, 2, 2, 2, 3, 3, 1]: - `s.add(element)` – добавить новый элемент в множество - `s.remove(element)` – удалить элемент из множества; если такого элемента нет, возникает исключение KeyError - `s.discard(element)` – удалить элемент из множества, если он в нём находится -- `s.pop()` – удалить из множества и вернуть произвольный элемент; если множество пустое, возникает исключение KeyError +- `s.pop()` – удалить **произвольный элемент** из множества и вернуть его; если множество пустое, возникает исключение KeyError - `s.clear()` – удалить все элементы множества. ### Как происходит проверка множеств на равенство @@ -594,10 +597,6 @@ for key in {'foo': 1, 'bar': 2}: process_key(key) ``` -### Как итерировать словарь по парам ключ-значение - -Метод словаря `.items()` возвращает генератор кортежей `(key, value)`. - ### Что такое сопрограмма Сопрограмма (англ. coroutine) — компонент программы, обобщающий понятие подпрограммы, который дополнительно поддерживает множество входных точек (а не одну, как подпрограмма) и остановку и продолжение выполнения с сохранением определённого положения.