> For the complete documentation index, see [llms.txt](https://voltbro.gitbook.io/turtlebro_py/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://voltbro.gitbook.io/turtlebro_py/tema-4.-spiski-i-stroki.md).

# Тема 4. Списки и строки

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

### Строки:

* Строка - это последовательность символов. Она может содержать буквы, цифры, специальные символы и пробелы.
* Строки в Python можно объявлять, заключая текст в одинарные или двойные кавычки. Например, "Привет, мир!" или 'Hello, world!'.
* Строки поддерживают различные операции, такие как конкатенация (объединение строк), повторение (многократное повторение строки) и доступ к символам по индексу.
* Мы также можем использовать различные методы строк для выполнения операций, таких как поиск подстроки, замена символов, разделение строки на части и другие.

### Работа со строками:

```python
# Создание строки
my_string = "Hello, World!"

# Получение длины строки
length = len(my_string)
print("Длина строки:", length)  # Вывод: Длина строки: 13

# Доступ к символам строки по индексу
first_char = my_string[0]
print("Первый символ:", first_char)  # Вывод: Первый символ: H

# Срез строки (выборка части строки)
substring = my_string[7:12]
print("Подстрока:", substring)  # Вывод: Подстрока: World

# Конкатенация строк
greeting = "Привет"
name = "Робот"
message = greeting + ", " + name + "!"
print(message)  # Вывод: Привет, Робот!

# Замена символов
old_string = "Hello, robot!"
new_string = old_string.replace("Hello", "Привет")
print(new_string)  # Вывод: Привет, robot!
```

### Списки:

* Список - это упорядоченная коллекция элементов. Он может содержать элементы различных типов данных, включая числа, строки, другие списки и многое другое.
* Списки в Python объявляются с помощью квадратных скобок \[ ] и элементов, разделенных запятой. Например, \[1, 2, 3] или \['apple', 'banana', 'orange'].
* Списки поддерживают множество операций, таких как доступ к элементам по индексу, изменение элементов, добавление и удаление элементов, срезы (выборка части списка) и другие.
* Мы также можем использовать различные методы списков для выполнения операций, таких как сортировка, поиск элементов, подсчет повторяющихся элементов и другие.

1. Работа со строками и списками:
   * Строки и списки тесно связаны между собой, и Python предоставляет возможности для их взаимодействия.
   * Мы можем преобразовывать строки в списки и наоборот с помощью соответствующих методов.
   * Мы также можем использовать операции со строками и списками для выполнения различных манипуляций с данными, таких как объединение строк, разделение строки на слова, обратное сортировка списка и другие.

### Работа со списками:

```python
pythonCopy code# Создание списка
my_list = [1, 2, 3, 4, 5]

# Получение длины списка
length = len(my_list)
print("Длина списка:", length)  # Вывод: Длина списка: 5

# Доступ к элементам списка по индексу
first_element = my_list[0]
print("Первый элемент:", first_element)  # Вывод: Первый элемент: 1

# Изменение элементов списка
my_list[2] = 10
print("Измененный список:", my_list)  # Вывод: Измененный список: [1, 2, 10, 4, 5]

# Добавление элемента в конец списка
my_list.append(6)
print("Список с новым элементом:", my_list)  # Вывод: Список с новым элементом: [1, 2, 10, 4, 5, 6]

# Удаление элемента из списка
my_list.remove(2)
print("Список после удаления:", my_list)  # Вывод: Список после удаления: [1, 10, 4, 5, 6]

# Сортировка списка
my_list.sort()
print("Отсортированный список:", my_list)  # Вывод: Отсортированный список: [1, 4, 5, 6, 10]

# Обратная сортировка списка
my_list.reverse()
print("Обратно отсортированный список:", my_list)  # Вывод: Обратно отсортированный список: [10, 6
```
