Строковые величины. Срезы. Сравнение строк

 Определение длины строки

Это количество содержащихся в строке символов, включая пробелы. Чтобы определить длину строки, используется функция len(строка).

Пример
s = 'школа'
t = 'ученик'
n = len (s)
print (f'длина слова "школа" равна {n}')
print (f'длина слова "ученик" = {len(t)}')
print (f'длина текста "I love Python" = {len("I love Python")}')

Результат
длина слова "школа" равна 5 длина слова "ученик" = 6 длина текста "I love Python" = 13

Доступ к элементу по его индексу

имя_строки[индекс]
Индексация начинается с нуля, поэтому первый символ строки будет иметь индекс 0. А если мы попытаемся обратиться к индексу, которого нет в строке, то мы получим исключение IndexError. Например, в случае выше длина строки 15 символов, поэтому ее символы будут иметь индексы от 0 до 14.

Чтобы получить доступ к символам, начиная с конца строки, можно использовать отрицательные индексы. Так, индекс -1 будет представлять последний символ, а -2 - предпоследний символ и так далее.
Пусть s = 'монитор'

Слово

м

о

н

и

т

о

р

Индексы положительные

0

1

2

3

4

5

6

Индексы отрицательные

-7

-6

-5

-4

-3

-2

-1

 То есть, s[4] = 'т'  и s[-3] = 'т'.

Срез строки

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

имя_строки[начальный индекс : конечный индекс]

Срез извлекает подстроку, начиная c начального индекса (включительно) и заканчивая последним индексом (не включая его), то есть символ с конечным индексом в срез не входит. 

Пример
s = 'школа'
t = 'информатика'
print (t[2:7])
print (s[1:4])

Результат
форма кол

Срез до конца, от начала

Если в срезе после двоеточия не указывать конечный индекс, то срез будет до конца строки.

имя_строки[начальный индекс : ]

Если не записывать начальный индекс, то  срез будет от начала строки до указанного конечного индекса.

имя_строки[: конечный индекс]

Срез s[:] совпадает с самой строкой s.

Пример
s = 'кругозор'
t = 'картина'
print (t[3:])
print (s[:4])
print (s[:])

Результат
тина круг кругозор

Вывод строки в обратном порядке

print(s[::-1])

Пример
s = 'абвгдежзиклмно'
print (s[::-1])

Результат
онмлкизжедгвба


Шаг среза

Мы можем передать в срез третий необязательный параметр, который отвечает за шаг среза. 

имя_строки[начальный индекс : конечный индекс : шаг]

Пример
t = 'абвгдежзиклмнопр'
print (t[3:10:2])
print (t[:16:2])
print (t[::3])

Результат
гезк авджилнп агжкнр

Сравнение строк

При сравнении нескольких строк рассматриваются отдельные символы и их регистр:
  • цифра условно меньше, чем любая буква из алфавита;
  • алфавитная буква в верхнем регистре меньше, чем буква в нижнем регистре;
  • чем раньше буква в алфавите, тем она меньше;
При этом сравниваются по очереди первые символы, затем — 2-е и так далее.

Пример
s1 = "1a"
s2 = "aa"
s3 = "Aa"
s4 = "ba"
print (s1<s2)
print (s2>s3)
print (s2<s4)
print (s3<s4)

Результат
True True True True

Задание



Задания для самостоятельного решения

Задан текст. Напишите программу, которая выводит:

  1. общее количество символов в тексте;
  2. исходный текст, повторенный 3 раза;
  3. первый символ текста;
  4. первые два символа текста;
  5. последние три символа текста;
  6. текст в обратном порядке;
  7. текст без первого и последнего символов.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.