ToxaLay

Индексы и срезы строк

Jun 28th, 2022 (edited)
1,111
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.98 KB | None
  1. # Для компиляции кода можно использовать любой онлайн компилятор, к примеру www.online-python.com
  2.  
  3. abc = "Даша"
  4. # Индекс символа - номер символа в строке.
  5. # Отсчёт у всех итерируемых объектов в python начинается с нуля
  6. # Если использовать число, которое < 0, то отсчет будет идти справа налево.
  7. # Индексы букв в слове 'Даша':
  8. print(abc[0], abc[-4]) # Д Д
  9. print(abc[1], abc[-3]) # а а
  10. print(abc[2], abc[-2]) # ш ш
  11. print(abc[3], abc[-1]) # а а
  12.  
  13. abc = 'Даша лучшая девочка'
  14. # Срез - конструкция вида: переменная[start:stop:step], где:
  15. # start - откуда начинается срез (по умолчанию 0, то-есть начало строки)
  16. print(abc[0:]) # Даша лучшая девочка (строка без изменений)
  17. print(abc[5:]) # лучшая девочка (у символа "л" индекс 5)
  18. print(abc[-7:]) # девочка (у символа "д" индекс 12 или -7)
  19. # stop - докуда будет срез (элемент с индексом stop в срез не входит,
  20. # по умолчанию stop это len(переменная), то-есть длина строки)
  21. print(abc[:len(abc)]) # Даша лучшая девочка (строка без изменений)
  22. print(abc[:3]) # Даш (у буквы "а" после "Даш" индекс 3, она не попала в срез)
  23. print(abc[:-8]) # Даша лучшая
  24. # start и stop можно использовать вместе, для срезания слева и справа
  25. print(abc[5:-8]) # лучшая
  26. print(abc[5:8]) # луч
  27. print(abc[-11:-8]) # шая
  28. # step - шаг среза (по умолчанию 1)
  29. print(abc[::1]) # Даша лучшая девочка (строка без изменений)
  30. print(abc[::2]) # Дш ушядвча (каждый второй символ пропущен)
  31. print(abc[::-1]) # акчовед яашчул ашаД (мы развернули строку)
  32. # Результат среза - обычные строки, соответственно их можно конкатенировать,
  33. # дублировать, узнавать длину и опять использовать срез
  34. dasha_devochka = abc[:4] + " " + abc[-7:] # "Даша" + " " + "девочка"
  35. print(dasha_devochka) # Даша девочка
  36. dasha = dasha_devochka[:4]
  37. print(dasha) # Даша
  38. print(dasha_devochka[5:]*3) # девочкадевочкадевочка (строка "девочка" дублирована 3 раза)
  39. print(len(dasha_devochka[-7:])) # 7 (строка "девочка" состоит из 7ми символов)
  40.  
  41.  
  42. # Проверочное задание, есть переменная со строкой:
  43. text = "Шла Маша по шоссе и сосала сушку"
  44. # Выведите используя переменную text и срезы следующие строки:
  45. # (разрешается использовать пробелы, как отдельные строки " ")
  46. # 0. "по" (пример)
  47. print(text[9:11])
  48. # 1. "Шла Маша"
  49. # 2. "сосала сушку"
  50. # 3. "Маша"
  51. # 4. "Маша Шла"
  52. # 5. "Маша сосала сушку и Шла по шоссе"
  53.  
  54. # Подсказки к заданию
  55. # 1. Надо использовать end
  56. # 2. Надо использовать start
  57. # 3. Надо использовать start и end
  58. # 4. Надо использовать конструкцию срезов
  59. # 4.1. В первом срезе надо использовать start и end
  60. # 4.2. Во втором срезе надо использовать только end
  61. # 5. Это закрепляющее задание, так что постарайся решить сама
RAW Paste Data Copied