Манипуляции со строками и списками

Манипуляции со строками и списками в Python включают разнообразные операции для изменения, анализа и обработки данных. Рассмотрим ключевые операции и методы для строк и списков.

Манипуляции со строками

Изменение строк

В Python строки неизменяемы, что означает, что любые изменения строки создают новую строку.

  • Конкатенация

string1 = "Hello"
string2 = "World"
result = string1 + " " + string2
print(result)  # Вывод: Hello World
  • Повторение

string = "Ha"
result = string * 3
print(result)  # Вывод: HaHaHa

Методы строк

  • upper() и lower()

text = "Hello World"
print(text.upper())  # Вывод: HELLO WORLD
print(text.lower())  # Вывод: hello world
  • strip()

Удаляет пробелы с начала и конца строки.

text = "  Hello World  "
print(text.strip())  # Вывод: Hello World
  • replace()

Заменяет все вхождения подстроки на другую подстроку.

text = "Hello World"
new_text = text.replace("World", "Python")
print(new_text)  # Вывод: Hello Python
  • split() и join()

Разделяет строку на список подстрок и объединяет список строк в одну строку.

text = "apple,banana,cherry"
list_of_fruits = text.split(",")
print(list_of_fruits)  # Вывод: ['apple', 'banana', 'cherry']

rejoined_text = ", ".join(list_of_fruits)
print(rejoined_text)  # Вывод: apple, banana, cherry
  • find() и rfind()

Ищет первое (или последнее) вхождение подстроки.

text = "Hello World"
position = text.find("World")
print(position)  # Вывод: 6

position = text.rfind("o")
print(position)  # Вывод: 7
  • format()

Форматирует строки с помощью подстановки значений.

name = "Alice"
age = 30
formatted_string = "My name is {} and I am {} years old.".format(name, age)
print(formatted_string)  # Вывод: My name is Alice and I am 30 years old.

Срезы строк

Позволяют извлекать подстроки из строки.

text = "Hello World"
substring = text[0:5]
print(substring)  # Вывод: Hello

# Использование отрицательных индексов
substring = text[-5:]
print(substring)  # Вывод: World

Манипуляции со списками

Добавление элементов

  • append()

Добавляет элемент в конец списка.

list_of_fruits = ["apple", "banana"]
list_of_fruits.append("cherry")
print(list_of_fruits)  # Вывод: ['apple', 'banana', 'cherry']
  • insert()

Вставляет элемент на указанную позицию.

list_of_fruits = ["apple", "banana"]
list_of_fruits.insert(1, "blueberry")
print(list_of_fruits)  # Вывод: ['apple', 'blueberry', 'banana']
  • extend()

Добавляет элементы из другого итерируемого объекта.

list_of_fruits = ["apple", "banana"]
more_fruits = ["cherry", "date"]
list_of_fruits.extend(more_fruits)
print(list_of_fruits)  # Вывод: ['apple', 'banana', 'cherry', 'date']

Удаление элементов

  • remove()

Удаляет первое вхождение указанного значения.

list_of_fruits = ["apple", "banana", "cherry"]
list_of_fruits.remove("banana")
print(list_of_fruits)  # Вывод: ['apple', 'cherry']
  • pop()

Удаляет элемент по индексу и возвращает его.

list_of_fruits = ["apple", "banana", "cherry"]
removed_item = list_of_fruits.pop(1)
print(removed_item)  # Вывод: banana
print(list_of_fruits)  # Вывод: ['apple', 'cherry']
  • clear()

Удаляет все элементы из списка.

list_of_fruits = ["apple", "banana", "cherry"]
list_of_fruits.clear()
print(list_of_fruits)  # Вывод: []

2.3 Сортировка и изменение порядка

  • sort()

Сортирует список на месте.

list_of_fruits = ["banana", "apple", "cherry"]
list_of_fruits.sort()
print(list_of_fruits)  # Вывод: ['apple', 'banana', 'cherry']
  • sorted()

Возвращает новый отсортированный список.

list_of_fruits = ["banana", "apple", "cherry"]
sorted_list = sorted(list_of_fruits)
print(sorted_list)  # Вывод: ['apple', 'banana', 'cherry']
  • reverse()

Изменяет порядок элементов на противоположный.

list_of_fruits = ["apple", "banana", "cherry"]
list_of_fruits.reverse()
print(list_of_fruits)  # Вывод: ['cherry', 'banana', 'apple']

Извлечение подсписков (срезы)

Позволяет извлекать части списка.

list_of_fruits = ["apple", "banana", "cherry", "date", "elderberry"]

# Извлечение элементов с индексами от 1 до 3 (не включая 4)
sublist = list_of_fruits[1:4]
print(sublist)  # Вывод: ['banana', 'cherry', 'date']

Поиск элементов

  • index()

Находит индекс первого вхождения значения.

list_of_fruits = ["apple", "banana", "cherry"]
index = list_of_fruits.index("banana")
print(index)  # Вывод: 1
  • count()

Подсчитывает количество вхождений значения.

list_of_fruits = ["apple", "banana", "apple", "cherry"]
count = list_of_fruits.count("apple")
print(count)  # Вывод: 2

Заключение

Манипуляции со строками и списками в Python включают множество операций для изменения и обработки данных. Знание различных методов и функций позволяет эффективно управлять текстовыми и коллекционными данными, что важно для решения разнообразных задач в программировании.

Last updated