Tratando Strings no Python
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'