image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Millena Lopes
Millena Lopes07/06/2024 23:29
Compartilhe

Python e Strings: Estrutura e Funcionalidades a Explorar

  • #Python

image

Manipulação de string é como brincar com palavras e frases em Python. Uma string é qualquer sequência de caracteres, como letras, números ou símbolos. Manipular strings significa cortar, juntar, substituir ou mudar essas sequências de várias maneiras.

image

Python tem muitos métodos que ajudam a mexer com texto. Aqui estão alguns dos principais métodos de strings em Python:

1. capitalize(): Converte o primeiro caractere da string em maiúsculo.

 "hello".capitalize()  # "Hello"

2. casefold(): Converte a string para minúsculas, mais agressivamente do que `lower()`.

 

 "HELLO".casefold()  # "hello"

 

3. center(width, fillchar): Centraliza a string, preenchendo com o caractere especificado (por padrão, espaço).

 

 "hello".center(10, "-")  # "--hello---"

 

4. count(sub, start, end): Conta quantas vezes a substring aparece na string.

 "hello world".count("o")  # 2

5. encode(encoding, errors): Codifica a string em bytes usando a codificação especificada.

 "hello".encode("utf-8")  # b'hello'

 

6. endswith(suffix, start, end): Verifica se a string termina com o sufixo especificado.

 

 "hello".endswith("lo")  # True

 

7. expandtabs(tabsize): Substitui caracteres de tabulação na string por espaços.

 "hello\tworld".expandtabs(4)  # "hello   world"

8. find(sub, start, end): Retorna o índice da primeira ocorrência da substring.

 "hello".find("e")  # 1

9. format(args, kwargs): Formata a string usando argumentos posicional e nomeados.

 "Hello, {}".format("world")  # "Hello, world"

10. format_map(mapping): Formata a string usando um mapeamento.

 

  "Hello, {name}".format_map({"name": "world"})  # "Hello, world"

11. index(sub, start, end): Retorna o índice da primeira ocorrência da substring, levantando um ValueError se não for encontrada.

  "hello".index("e")  # 1

12. isalnum(): Verifica se todos os caracteres da string são alfanuméricos.

  "hello123".isalnum()  # True

13. isalpha(): Verifica se todos os caracteres da string são letras.

  "hello".isalpha()  # True

14. isascii(): Verifica se todos os caracteres da string são ASCII.

 

  "hello".isascii()  # True

 

15. isdecimal(): Verifica se todos os caracteres da string são decimais.

  "123".isdecimal()  # True

16. isdigit(): Verifica se todos os caracteres da string são dígitos.

 

  "123".isdigit()  # True

17. isidentifier(): Verifica se a string é um identificador válido.

  "hello_world".isidentifier()  # True

 

18. islower(): Verifica se todos os caracteres da string estão em minúsculas.

  "hello".islower()  # True

 

19. isnumeric(): Verifica se todos os caracteres da string são numéricos.

  "123".isnumeric()  # True

 

20. isprintable(): Verifica se todos os caracteres da string são imprimíveis.

  "hello".isprintable()  # True

 

21. isspace(): Verifica se todos os caracteres da string são espaços em branco.

 

  "   ".isspace()  # True

 

22. istitle(): Verifica se a string está no formato de título (primeira letra de cada palavra em maiúsculo).

  "Hello World".istitle()  # True

 

23. isupper(): Verifica se todos os caracteres da string estão em maiúsculas.

  "HELLO".isupper()  # True

24. join(iterable): Junta os elementos de um iterável em uma única string, usando a string atual como delimitador.

 

  "-".join(["hello", "world"])  # "hello-world"

 

25. ljust(width, fillchar): Alinha a string à esquerda, preenchendo com o caractere especificado.

  "hello".ljust(10, "-")  # "hello-----"

 

26. lower(): Converte todos os caracteres da string para minúsculas.

  "HELLO".lower()  # "hello"

 

27. lstrip(chars): Remove os caracteres especificados do início da string.

  "  hello".lstrip()  # "hello"

28. maketrans(x, y, z): Cria uma tabela de mapeamento para `translate()`.

 

  table = str.maketrans("aeiou", "12345")
  "hello".translate(table)  # "h2ll4"

 

29. partition(sep): Divide a string na primeira ocorrência do separador e retorna uma tupla com três elementos.

  "hello world".partition(" ")  # ('hello', ' ', 'world')

 

30. replace(old, new, count): Substitui as ocorrências de uma substring por outra.

  "hello world".replace("world", "Python")  # "hello Python"

 

31. rfind(sub, start, end): Retorna o índice da última ocorrência da substring.

 

  "hello hello".rfind("hello")  # 6

32. rindex(sub, start, end): Retorna o índice da última ocorrência da substring, levantando um ValueError se não for encontrada.

  "hello hello".rindex("hello")  # 6

33. rjust(width, fillchar): Alinha a string à direita, preenchendo com o caractere especificado.

  "hello".rjust(10, "-")  # "-----hello"

34. rpartition(sep): Divide a string na última ocorrência do separador e retorna uma tupla com três elementos.

  "hello world world".rpartition(" ")  # ('hello world', ' ', 'world')

35. rsplit(sep, maxsplit): Divide a string da direita para a esquerda usando o separador especificado.

  "hello world".rsplit(" ", 1)  # ['hello', 'world']

 

36. rstrip(chars): Remove os caracteres especificados do final da string.

 

  "hello   ".rstrip()  # "hello"

37. split(sep, maxsplit): Divide a string usando o separador especificado.

 

  "hello world".split(" ")  # ['hello', 'world']

38. splitlines(keepends): Divide a string nas quebras de linha.

 

  "hello\nworld".splitlines()  # ['hello', 'world']

39. startswith(prefix, start, end): Verifica se a string começa com o prefixo especificado.

  "hello".startswith("he")  # True

 

40. strip(chars): Remove os caracteres especificados do início e do final da string.

  "  hello  ".strip()  # "hello"

41. swapcase(): Converte caracteres maiúsculos em minúsculos e vice-versa.

 

  "Hello".swapcase()  # "hELLO"

42. title(): Converte a string para o formato de título (primeira letra de cada palavra em maiúsculo).

  "hello world".title()  # "Hello World"

43. translate(table): Substitui caracteres na string usando a tabela de mapeamento especificada.

 

  table = str.maketrans("aeiou", "12345")
  "hello".translate(table)  # "h2ll4"

 

44. upper(): Converte todos

 os caracteres da string para maiúsculas.

 

  "hello".upper()  # "HELLO"

45. zfill(width): Preenche a string com zeros à esquerda até atingir o comprimento especificado.

  "42".zfill(5)  # "00042"

 

Esses métodos ajudam a manipular e trabalhar com strings de várias maneiras.

Quais são os mais usados?

Os métodos mais usados são:

- len(): Para saber o tamanho da string.

nome = "Python"
print(len(nome))  # Saída: 6

- upper(): Para transformar tudo em maiúsculas.

print(nome.upper())  # Saída: PYTHON

- lower(): Para transformar tudo em minúsculas.

print(nome.lower())  # Saída: python

- replace(): Para substituir partes da string.

frase = "Eu amo pizza"
print(frase.replace("pizza", "Python"))  # Saída: Eu amo Python

- split(): Para dividir a string em uma lista.

data = "21/06/2024"
print(data.split("/"))  # Saída: ['21', '06', '2024']

image

Vamos fazer um desafio! Um palíndromo é uma palavra ou frase que se lê da mesma forma de trás para frente. Seu desafio é escrever uma função em Python que verifica se uma palavra é um palíndromo. Aqui vai um exemplo para começar:

def palindromo(palavra):
  palavra = palavra.lower().replace(" ", "")
  return palavra == palavra[::-1]

print(palindromo("radar"))  # Saída: True
print(palindromo("python"))  # Saída: False

Outros métodos para resolver o desafio de palíndromo:

Além do método básico que mostramos antes, existem várias outras maneiras de verificar se uma palavra é um palíndromo usando diferentes métodos de manipulação de strings em Python. Vamos explorar alguns deles.

Usando reversed()

Podemos usar a função `reversed()` para inverter a string e comparar com a original.

Usando loop for

Podemos verificar manualmente cada caractere da string comparando os caracteres do início com os do final.

Usando join() e filter()

Podemos usar `join()` e `filter()` para remover espaços e transformar tudo em minúsculas, depois comparar a string com sua versão invertida.

Usando deque da coleção collections

A classe `deque` (double-ended queue) permite a inserção e remoção de elementos de ambos os lados de forma eficiente. Podemos usar isso para comparar os extremos da string.

image

Gostou do conteúdo? Conteúdo gerado por IA com revisão 100% humana.

Tente resolver o desafio usando diferentes métodos e compartilhe suas soluções comigo! Quero ver como você resolve esse desafio de outras formas!

Se quiser conecte-se comigo, Me siga no Linkedin

Fontes de produção:

Imagem gerada por: Ideogram

Expansão de imagem: Youcam

Edição de imagem: Canva

Conteúdo gerado por: ChatGPT

#Python #DesafioDeCódigo #InteligênciaArtificial

Compartilhe
Recomendados para você
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Santander - Cibersegurança #2
Comentários (0)