Como Verificar se uma Lista Contém uma String em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma lista contém uma string em Python. O laboratório começa introduzindo o conceito fundamental de strings, demonstrando como acessar caracteres individuais usando indexação, extrair substrings usando slicing (fatiamento) e determinar o comprimento de uma string.

Você começará criando um script Python chamado string_elements.py para explorar elementos de string. Este script atribuirá uma string a uma variável, acessará caracteres individuais, extrairá substrings e calculará o comprimento da string, fornecendo uma base para entender a manipulação de strings em Python.

Aprenda sobre Elementos de String

Nesta etapa, você aprenderá sobre o conceito fundamental de strings em Python. Strings são sequências de caracteres e são um dos tipos de dados mais comumente usados na programação. Entender como trabalhar com strings é crucial para tarefas como manipulação de dados, processamento de texto e entrada do usuário.

Primeiro, vamos criar um script Python simples para explorar elementos de string.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado string_elements.py no diretório ~/project.

    ~/project/string_elements.py
  3. Adicione o seguinte código ao arquivo 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)

    Este script demonstra como acessar caracteres individuais em uma string usando indexação, extrair substrings usando slicing (fatiamento) e determinar o comprimento de uma string usando a função len().

    • my_string = "Hello, LabEx!": Esta linha atribui a string "Hello, LabEx!" à variável my_string.
    • first_character = my_string[0]: Esta linha acessa o caractere no índice 0 (o primeiro caractere) de my_string e o atribui à variável first_character. Em Python, a indexação começa em 0.
    • substring = my_string[7:12]: Esta linha extrai uma substring de my_string começando no índice 7 e terminando no índice 12 (exclusivo). A substring será "LabEx".
    • string_length = len(my_string): Esta linha calcula o comprimento de my_string usando a função len() e o atribui à variável string_length.
  4. Salve o arquivo string_elements.py.

  5. Execute o script usando o seguinte comando no terminal:

    python string_elements.py
  6. Você deve ver a seguinte saída:

    First character: H
    Substring: LabEx
    String length: 13

    Esta saída confirma que você acessou com sucesso caracteres individuais, extraiu substrings e determinou o comprimento da string.

Aplicar any() com isinstance()

Nesta etapa, você aprenderá como usar a função any() em combinação com a função isinstance() para verificar se algum elemento em uma lista é uma instância de um tipo de dado específico, como uma string. Esta é uma técnica poderosa para validar dados e garantir que seu código lide com diferentes tipos de dados corretamente.

Vamos criar um script Python para demonstrar este conceito.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado any_isinstance.py no diretório ~/project.

    ~/project/any_isinstance.py
  3. Adicione o seguinte código ao arquivo 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)

    Este script verifica se a lista my_list contém quaisquer elementos de string usando any() e isinstance().

    • my_list = [1, 2, "hello", 4, 5, "world"]: Esta linha cria uma lista chamada my_list contendo inteiros e strings.
    • has_string = any(isinstance(item, str) for item in my_list): Esta linha usa uma expressão geradora (isinstance(item, str) for item in my_list) para verificar se cada item em my_list é uma instância do tipo str (ou seja, uma string). A função any() retorna True se pelo menos um elemento na expressão geradora for True, e False caso contrário.
    • print("List contains a string:", has_string): Esta linha imprime o resultado da verificação.
  4. Salve o arquivo any_isinstance.py.

  5. Execute o script usando o seguinte comando no terminal:

    python any_isinstance.py
  6. Você deve ver a seguinte saída:

    List contains a string: True

    Esta saída confirma que o script identificou corretamente que a lista contém pelo menos um elemento de string.

Localizar Posições de String

Nesta etapa, você aprenderá como localizar a posição de uma substring dentro de uma string maior usando os métodos find() e index(). Esses métodos são essenciais para tarefas como pesquisar padrões específicos em texto e extrair informações relevantes.

Vamos criar um script Python para demonstrar como localizar posições de string.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado string_positions.py no diretório ~/project.

    ~/project/string_positions.py
  3. Adicione o seguinte código ao arquivo 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")

    Este script demonstra como usar os métodos find() e index() para localizar substrings dentro de uma string.

    • my_string = "This is a sample string for demonstration.": Esta linha atribui a string "This is a sample string for demonstration." à variável my_string.
    • index_of_sample = my_string.find("sample"): Esta linha usa o método find() para encontrar o índice da primeira ocorrência da substring "sample" em my_string. O método find() retorna o índice da primeira ocorrência, ou -1 se a substring não for encontrada.
    • index_of_nonexistent = my_string.find("xyz"): Esta linha demonstra o que acontece quando a substring não é encontrada. find() retorna -1.
    • O método index() é semelhante a find(), mas ele levanta uma exceção ValueError se a substring não for encontrada. O bloco try...except lida com essa exceção.
  4. Salve o arquivo string_positions.py.

  5. Execute o script usando o seguinte comando no terminal:

    python string_positions.py
  6. Você deve ver a seguinte saída:

    Index of 'sample': 10
    Index of 'string': 17
    Index of 'xyz': -1
    Index of 'demo': 27

    Esta saída confirma que o script localizou corretamente as posições das substrings "sample", "string" e "demo" dentro da string principal, e que ele tratou o caso em que uma substring não é encontrada.

Resumo

Neste laboratório, a primeira etapa se concentra em entender os elementos de string em Python. Ela envolve a criação de um arquivo string_elements.py no diretório ~/project dentro do editor VS Code.

O script demonstra como atribuir uma string a uma variável, acessar caracteres individuais usando indexação (começando em 0), extrair substrings usando slicing (fatiamento) e determinar o comprimento de uma string usando a função len(). O exemplo usa a string "Hello, LabEx!" para ilustrar esses conceitos.