Марк Лутц, «Изучаем Python»: на самом деле мы здесь не модифицировали сам список L1, а изменили компонент объекта, на который L1 ссылается. Изменение такого рода перезаписывает часть значения спискового объекта на месте. Однако поскольку списковый объект совместно используется другой переменной (она ссылается на него), изменение на месте подобного вида оказывает влияние не только на L1. ... В приведенном примере эффект модификации отражается и в списке L2, т.к. он ссылается на тот же самый объект, что и L1. В действительности мы не изменяли список L2, но его значение стало другим, потому что он ссылается на объект, который был перезаписан на месте.
Марк Лутц, «Изучаем Python»: Основы нарезания прямолинейны. Когда вы индексируете объект последовательности вроде строки с указанием пары смещений, разделенных двоеточием, Python возвращает новый объект, который содержит непрерывный сегмент, идентифицируемый парой смещений. Левое смещение считается нижней границей (включающей), а правое — верхней границей (исключающей). То есть Python извлекает элементы, начиная с нижней граница и заканчивая, но не включая верхнюю границу, и возвращает новый объект, содержащий извлеченные элементы. Если левая и правая границы не указаны, тогда по умолчанию для них принимается 0 и длина нарезаемого объекта соответственно.
То есть для массива будут выбраны:
- слева: элемент с индексом 1 — число 2 (помним про индексацию с нуля)
- справа: элемент с индексом 3 НЕВКЛЮЧИТЕЛЬНО (то есть остается число 3)
То есть для массива будут выбраны:
- слева: элемент с индексом 1 — число 2 (помним про индексацию с нуля)
- справа: элемент с индексом 3 НЕВКЛЮЧИТЕЛЬНО (то есть остается число 3)
Что выведет код?
Anonymous Quiz
10%
xxxxEGGSxxxxEGGSxxxx
70%
xxxxEGGSxxxxSPAMxxxx
16%
xxxxSPAMxxxxEGGSxxxx
4%
Error
Что выведет код? (Python 3.x)
Anonymous Quiz
28%
['ааа', 'bbb', 'ссс', 'ddd']
16%
['', 'ааа', 'bbb', 'ссс', 'ddd']
37%
['ааа', 'bbb\nссс\tddd']
19%
['', 'ааа', 'bbb\nссс\tddd']
docs.python.org:
If sep is not specified or is None, a different splitting algorithm is applied: runs of consecutive whitespace are regarded as a single separator, and the result will contain no empty strings at the start or end if the string has leading or trailing whitespace. Consequently, splitting an empty string or a string consisting of just whitespace with a None separator returns .
«Если sep (разделитель) не указан или равен None, применяется другой алгоритм разбиения: серии последовательных пробелов рассматриваются как один разделитель, и результат не будет содержать пустых строк в начале или конце, если строка имеет начальные или конечные пробелы. Следовательно, разбиение пустой строки или строки, состоящей только из пробелов, с разделителем None возвращает []».
Начиная с Python 3.x, в качестве разделителей также принимаются табуляция (\t) и разрыв строки (\n).
If sep is not specified or is None, a different splitting algorithm is applied: runs of consecutive whitespace are regarded as a single separator, and the result will contain no empty strings at the start or end if the string has leading or trailing whitespace. Consequently, splitting an empty string or a string consisting of just whitespace with a None separator returns .
«Если sep (разделитель) не указан или равен None, применяется другой алгоритм разбиения: серии последовательных пробелов рассматриваются как один разделитель, и результат не будет содержать пустых строк в начале или конце, если строка имеет начальные или конечные пробелы. Следовательно, разбиение пустой строки или строки, состоящей только из пробелов, с разделителем None возвращает []».
Начиная с Python 3.x, в качестве разделителей также принимаются табуляция (\t) и разрыв строки (\n).
Python documentation
Built-in Types
The following sections describe the standard types that are built into the interpreter. The principal built-in types are numerics, sequences, mappings, classes, instances and exceptions. Some colle...
Марк Лутц, «Изучаем Python»: в данном примере число 4 является аргументом format() и указывает на число знаков после запятой. В качестве значения, которое предстоит форматировать, используется частное 1 / 3.0 (то есть 0.(3) — число в периоде).
По каким темам вы бы хотели получать задачи / тесты? Поделитесь в комментариях.