Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, содержит ли список строку на Python. Лабораторная работа начинается с введения в фундаментальное понятие строк, демонстрирует, как обращаться к отдельным символам с помощью индексации, извлекать подстроки с помощью срезов и определять длину строки.
Вы начнете с создания Python-скрипта с именем string_elements.py для изучения элементов строк. В этом скрипте строка будет присвоена переменной, будут доступны отдельные символы, извлекаться подстроки и вычисляться длина строки, что даст основу для понимания манипуляций со строками на Python.
Изучите строковые элементы
На этом этапе вы узнаете о фундаментальном понятии строк в Python. Строки представляют собой последовательности символов и являются одним из наиболее часто используемых типов данных в программировании. Понимание того, как работать со строками, является важным для таких задач, как манипуляция данными, обработка текста и обработка пользовательского ввода.
Сначала создадим простой Python-скрипт для изучения элементов строки.
Откройте редактор VS Code в среде LabEx.
Создайте новый файл с именем
string_elements.pyв директории~/project.~/project/string_elements.pyДобавьте следующий код в файл
string_elements.py:## Assign a string to a variable my_string = "Hello, LabEx!" ## Accessing individual characters using indexing first_character = my_string[0] print("First character:", first_character) ## String slicing to extract a substring substring = my_string[7:12] print("Substring:", substring) ## String length string_length = len(my_string) print("String length:", string_length)Этот скрипт демонстрирует, как обращаться к отдельным символам в строке с помощью индексации, извлекать подстроки с помощью срезов и определять длину строки с использованием функции
len().my_string = "Hello, LabEx!": Эта строка присваивает строку "Hello, LabEx!" переменнойmy_string.first_character = my_string[0]: Эта строка обращается к символу с индексом 0 (первый символ) вmy_stringи присваивает его переменнойfirst_character. В Python индексация начинается с 0.substring = my_string[7:12]: Эта строка извлекает подстроку изmy_string, начиная с индекса 7 и заканчивая индексом 12 (не включая его). Подстрока будет "LabEx".string_length = len(my_string): Эта строка вычисляет длинуmy_stringс использованием функцииlen()и присваивает ее переменнойstring_length.
Сохраните файл
string_elements.py.Запустите скрипт с помощью следующей команды в терминале:
python string_elements.pyВы должны увидеть следующий вывод:
First character: H Substring: LabEx String length: 13Этот вывод подтверждает, что вы успешно обратились к отдельным символам, извлекли подстроки и определили длину строки.
Примените функцию any() с функцией isinstance()
На этом этапе вы научитесь использовать функцию any() в сочетании с функцией isinstance() для проверки, является ли какой-либо элемент списка экземпляром определенного типа данных, например, строкой. Это мощный метод для валидации данных и обеспечения правильной обработки различных типов данных в вашем коде.
Создадим Python-скрипт, чтобы продемонстрировать этот концепт.
Откройте редактор VS Code в среде LabEx.
Создайте новый файл с именем
any_isinstance.pyв директории~/project.~/project/any_isinstance.pyДобавьте следующий код в файл
any_isinstance.py:## List containing different data types my_list = [1, 2, "hello", 4, 5, "world"] ## Check if any element in the list is a string has_string = any(isinstance(item, str) for item in my_list) ## Print the result print("List contains a string:", has_string)Этот скрипт проверяет, содержит ли список
my_listкакие-либо строковые элементы, используя функцииany()иisinstance().my_list = [1, 2, "hello", 4, 5, "world"]: Эта строка создает список с именемmy_list, содержащий целые числа и строки.has_string = any(isinstance(item, str) for item in my_list): Эта строка использует генераторное выражение(isinstance(item, str) for item in my_list)для проверки, является ли каждыйitemвmy_listэкземпляром типаstr(то есть строкой). Функцияany()возвращаетTrue, если хотя бы один элемент в генераторном выражении равенTrue, иFalseв противном случае.print("List contains a string:", has_string): Эта строка выводит результат проверки.
Сохраните файл
any_isinstance.py.Запустите скрипт с помощью следующей команды в терминале:
python any_isinstance.pyВы должны увидеть следующий вывод:
List contains a string: TrueЭтот вывод подтверждает, что скрипт правильно определил, что список содержит хотя бы один строковый элемент.
Определите позиции строк
На этом этапе вы узнаете, как определить позицию подстроки в более длинной строке с использованием методов find() и index(). Эти методы являются важными для таких задач, как поиск определенных шаблонов в тексте и извлечение соответствующей информации.
Создадим Python-скрипт, чтобы продемонстрировать, как определять позиции подстроки.
Откройте редактор VS Code в среде LabEx.
Создайте новый файл с именем
string_positions.pyв директории~/project.~/project/string_positions.pyДобавьте следующий код в файл
string_positions.py:## String to search within my_string = "This is a sample string for demonstration." ## Find the index of the first occurrence of "sample" index_of_sample = my_string.find("sample") print("Index of 'sample':", index_of_sample) ## Find the index of the first occurrence of "string" index_of_string = my_string.find("string") print("Index of 'string':", index_of_string) ## Find the index of a non-existent substring index_of_nonexistent = my_string.find("xyz") print("Index of 'xyz':", index_of_nonexistent) ## Using index() method try: index_of_demo = my_string.index("demo") print("Index of 'demo':", index_of_demo) except ValueError: print("'demo' not found")Этот скрипт демонстрирует, как использовать методы
find()иindex()для определения подстрок в строке.my_string = "This is a sample string for demonstration.": Эта строка присваивает строку "This is a sample string for demonstration." переменнойmy_string.index_of_sample = my_string.find("sample"): Эта строка использует методfind()для нахождения индекса первого вхождения подстроки "sample" вmy_string. Методfind()возвращает индекс первого вхождения или -1, если подстрока не найдена.index_of_nonexistent = my_string.find("xyz"): Эта строка демонстрирует, что происходит, когда подстрока не найдена. Методfind()возвращает -1.- Метод
index()аналогичен методуfind(), но он вызывает исключениеValueError, если подстрока не найдена. Блокtry...exceptобрабатывает это исключение.
Сохраните файл
string_positions.py.Запустите скрипт с помощью следующей команды в терминале:
python string_positions.pyВы должны увидеть следующий вывод:
Index of 'sample': 10 Index of 'string': 17 Index of 'xyz': -1 Index of 'demo': 27Этот вывод подтверждает, что скрипт правильно определил позиции подстрок "sample", "string" и "demo" в основной строке и обработал случай, когда подстрока не найдена.
Резюме
В этом практическом занятии первый этап посвящен изучению строковых элементов в Python. Он включает создание файла string_elements.py в директории ~/project с использованием редактора VS Code.
Скрипт демонстрирует, как присвоить строку переменной, обращаться к отдельным символам с помощью индексации (начиная с 0), извлекать подстроки с использованием срезов и определять длину строки с помощью функции len(). В примере используется строка "Hello, LabEx!", чтобы проиллюстрировать эти концепции.



