При работе со срезами (𝚜𝚕𝚒𝚌𝚒𝚗𝚐) можно использовать отрицательные индексы. Отрицательный индекс означает позицию элемента, отсчитываемую с конца строки. Например, индекс −𝟷 соответствует последнему элементу, индекс −𝟸 — предпоследнему и так далее.
В данном случае, 𝚕𝚎𝚝𝚝𝚎𝚛𝚜 = '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝙸𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣' — строка длиной 𝟸𝟼 символов. 𝚕𝚎𝚝𝚝𝚎𝚛𝚜[−𝟹:] — срез с отрицательным индексом от −𝟹 до конца строки.
Отрицательный индекс −𝟹 означает третий символ с конца строки. Для строки '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝙸𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣' это символ '𝚡':
🔘 Позиция −𝟷: '𝚣' (последний)
🔘 Позиция −𝟸: '𝚢' (предпоследний)
🔘 Позиция −𝟹: '𝚡' (третий с конца)
Срез 𝚕𝚎𝚝𝚝𝚎𝚛𝚜[−𝟹:] берет все символы начиная с позиции −𝟹 (включительно) до конца строки, то есть последние три символа: '𝚡𝚢𝚣'.
Из документации Python:
«Некоторые последовательности, включая встроенные, интерпретируют отрицательные индексы, добавляя длину последовательности. Например, `𝚊[−𝟸]` эквивалентно `𝚊[𝚗−𝟸]`, то есть обращается ко второму с конца элементу последовательности `𝚊` длиной `𝚗`. Замечание, сделанное выше об отрицательных индексах, также относится и к отрицательным границам срезов».
При использовании срезов с отрицательными индексами удобно извлекать элементы с конца последовательности, не зная точно её длину.
Post #4427
676
- ❤ 1