10.9 - Listas e strings
Uma string é uma sequência de caracteres e uma lista é uma sequência de valores, mas uma lista de caracteres não é a mesma coisa que uma string. Para converter uma string em uma lista de caracteres, você pode usar list:
>>> s = 'spam'
>>> t = list(s)
>>> t
['s', 'p', 'a', 'm']
Como list
é o nome de uma função integrada, você deve evitar usá-lo como nome de variável. Também evito usar l
porque parece demais com 1. É por isso que uso t
.
A função list
quebra uma string em letras individuais. Se você quiser quebrar uma string em palavras, você pode usar o método split
:
>>> s = 'pining for the fjords'
>>> t = s.split()
>>> t
['pining', 'for', 'the', 'fjords']
Um argumento opcional chamado delimiter especifica quais caracteres podem ser usados para demonstrar os limites das palavras. O exemplo seguinte usa um hífen como delimitador:
>>> s = 'spam-spam-spam'
>>> delimiter = '-'
>>> t = s.split(delimiter)
>>> t
['spam', 'spam', 'spam']
join
é o contrário de split
. Ele toma uma lista de strings e concatena os elementos. join
é um método de string, então é preciso invocá-lo no delimitador e passar a lista como parâmetro:
>>> t = ['pining', 'for', 'the', 'fjords']
>>> delimiter = ' '
>>> s = delimiter.join(t)
>>> s
'pining for the fjords'
Nesse caso, o delimitador é um caractere de espaço, então join
coloca um espaço entre as palavras. Para concatenar strings sem espaços, você pode usar a string vazia ''
, como delimitador.