Tratando Strings no Python

1 minuto(s) de leitura

Aprenda algumas funções básicas de como tratar string utilizando pyhton puro.


Selecionando (slicing) um trecho da string

A sintax para selecionar um trecho da string:

string[inicio:fim:passo]
  • Inicio: Indica a posição inicial da substring que deseja. Lembrando que no Python, a posição inicial é 0.
  • Fim: Indica a posição fim da substring que deseja
  • Passo: Indica o intervalo que deseja

Inicio, fim e passo são opcionais. Caso não preencha, os valores default são:

  • Inicio: 0
  • Fim: tamanho da string
  • Passo: 1

No exemplo abiaxo

mystring = "abcdefdn nimt"[::2]
print(mystring)
# 'aced it'

Invertando uma string

revstring = "abcdefg"[::-1]
print(revstring)
# 'gfedcba'

String de múltiplas linhas

Uma solução é usar o 3 aspas.

s1 = """Multi line strings can be put
        between triple quotes. It's not ideal
        when formatting your code though"""

A segunda solução é quebra a string em strings menores e incluir a quebra de linha utilizando \n. As string são concatenadas com +, mas poderíamos ter usado a função join.

s2 = ("You can also concatenate multiple\n" +
        "strings this way, but you'll have to\n" +
        "explicitly put in the newlines")

A terceira solução é manter uma única string, inserindo as novas linhas (\n) e indicar para python que a continua na próxima linha (). É importante ressaltar que não pode haver espaço depois do .

s2 = ("You can also concatenate multiple\n\
        strings this way, but you'll have to\n\
        explicitly put in the newlines")

Formanto string com Python >=3.6

pi=3.14
print(f'The value of pi is {pi:.2f}')
The value of pi is 3.14

Split a string into a list

A função split

mystring = "The quick brown fox"
mylist = mystring.split(' ')
print(mylist)
# ['The', 'quick', 'brown', 'fox']

Transformar uma lista em string

Usar a função join transformar uma lista em strings

str_list = ['Join', 'this', 'list']
' '.join(str_list)
'Join this list'

O python não permite concatenar datatypes númericos com string. Para conseguir concatenar primeiro precisamos converter usar a função map Para saber mais sobre map, consulte post sobre map

num_list = [200, 6, 12]
'Today:' + '-'.join(map(str,num_list))
'Today: 2020-6-12'