Python: нотация фрагментов в кортеже

Введение Термин нарезка в программировании обычно относится к получению подстроки, подкортежа или подсписка из строки, кортежа или списка соответственно. Python предлагает множество простых способов разрезать не только эти три, но и любые итерируемые. Итерируемым является, как следует из названия, любой объект, который можно повторять. В этой статье мы рассмотрим все, что вам нужно знать о нарезке кортежей в Python. Нарезка кортежа в Python Есть несколько способов нарезать кортеж, наиболее распространенные:

Вступление

Термин нарезка в программировании обычно относится к получению подстроки, подкортежа или подсписка из строки, кортежа или списка соответственно.

Python предлагает множество простых способов разрезать не только эти три, но и любые итерируемые . Итерируемым является, как следует из названия, любой объект, который можно повторять.

В этой статье мы рассмотрим все, что вам нужно знать о нарезке кортежей в Python .

Нарезка кортежа в Python

Есть несколько способов разрезать кортеж, наиболее распространенным из которых является использование : со следующим синтаксисом:

 tuple[start:end] 
 tuple[start:end:step] 

Параметр start представляет начальный индекс, end - конечный индекс, а step - количество элементов, которые «перешагивают».

Если step не указан явно, значение по умолчанию - 1 .

Давайте продолжим и нарежем кортеж:

 a_tuple = ('You', 'can’t', 'stop', 'the', 'change,', 'any', 'more', 'than', 'you', 'can', 'stop', 'the', 'suns', 'from', 'setting.') 
 subtuple = a_tuple[1:5] 
 print(subtuple) 

Результирующий кортеж будет:

 ('can’t', 'stop', 'the', 'change,') 

Нахождение первых и последних n элементов кортежа

Чтобы найти первые и последние n элементов кортежа, мы разрежем от первого элемента до n а затем от -n до конца кортежа.

-n начнет отсчет с конца кортежа в обратном направлении, давая нам последние n элементов:

 n = 2 
 a_tuple = ('I', 'find', 'your', 'lack', 'of', 'faith', 'disturbing.') 
 
 first_n_tuple = a_tuple[:n] 
 print(first_n_tuple) 
 last_n_tuple = a_tuple[-n:] 
 print(last_n_tuple) 

В результате получаются следующие подгруппы:

 ('I', 'find') 
 ('faith', 'disturbing.') 

Обратный кортеж с обозначением среза

Если мы установим параметр step -1 , он начнет отступать назад. Если мы включим весь или даже часть кортежа и просто сделаем шаг назад, это фактически полностью изменит содержимое кортежа:

 a_tuple = ('Fear', 'is', 'the', 'path', 'to', 'the', 'dark', 'side.', 'Fear', 'leads', 'to', 'anger;', 'anger', 'leads', 'to', 'hate;', 'hate', 'leads', 'to', 'suffering.', 'I', 'sense', 'much', 'fear', 'in', 'you.', 7) 
 reverse_tuple = a_tuple[::-1] 
 print(reverse_tuple) 

Обратный кортеж будет:

 (7, 'you.', 'in', 'fear', 'much', 'sense', 'I', 'suffering.', 'to', 'leads', 'hate', 'hate;', 'to', 'leads', 'anger', 'anger;', 'to', 'leads', 'Fear', 'side.', 'dark', 'the', 'to', 'path', 'the', 'is', 'Fear') 

Нахождение каждого n-го элемента кортежа

Чтобы найти каждый n -й элемент кортежа, мы перепрыгнем через все n , установив шаг равным n :

 n = 5 
 a_tuple = ('The', 'dark', 'side', 'of', 'the', 'Force', 'is', 'a', 'pathway', 'to', 'many', 'abilities', 'some', 'consider', 'to', 'be', 'unnatural.') 
 replaced_tuple = a_tuple[::n] 
 print(replaced_tuple) 

В результате получится кортеж:

 ('The', 'Force', 'many', 'be') 

Заключение

Нарезать любую последовательность в Python легко, просто и интуитивно понятно. Отрицательная индексация предлагает простой способ получить первые или последние несколько элементов последовательности или изменить ее порядок.

В этой статье мы рассмотрели, как применить нотацию среза к кортежам в Python.

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus