strip(), split() e dicionários
strip()
, split()
e dicionário
Nesta provinha trabalharemos um pouco com strip()
e split()
e também trabalharemos com dicionários.
strip()
e split()
Defina BRANCO = ' \n\v\t\f'
. strip()
e split()
são aplicados somente em strings e utilizam a notação ponto (‘.’) com a qual ficaremos mais habituados em MAC0122:
s.strip()
: retorna a string resultante após a remoção do início e do final da strings
de todos os caracteres emBRANCO
;s.strip()
: retorna a lista das stringss
usando os caracteres emBRANCO
como separadores;s.strip(t)
: retorna a lista das stringss
usando a stringt
como separador.
In [2]: s = '\n \t \v\f Como é bom estudar MAC0110! \n\t\n\v' In [3]: s_limpa = s.strip() In [4]: s_limpa Out[4]: 'Como é bom estudar MAC0110!' In [12]: s = '\n \t Como \t é bom estudar MAC0110! \n\t\n' In [13]: lst = s.split() In [14]: lst Out[14]: ['Como', 'é', 'bom', 'estudar', 'MAC0110!'] In [15]: lst = s.split('\n') # quebra nas 'linhas' In [16]: lst Out[16]: ['', ' \t Como \t é bom estudar MAC0110! ', '\t', ''] In [17]: s = ' linha 1 \n linha 2 \n linha3 ' In [18]: lst = s.split('\n') In [19]: lst Out[19]: [' linha 1 ', ' linha 2 ', ' linha3 '] In [20]: s = ' linha 1 \n linha 2 \n linha3 \n' # ultinha linha é a string vazia In [21]: lst = s.split('\n') In [22]: lst Out[22]: [' linha 1 ', ' linha 2 ', ' linha3 ', ''] In [23]: s = ' Como é muito bom estudar MAC0110! ' In [24]: lst = s.split('o') # usa 'o' como separador In [25]: lst Out[25]: [' C', 'm', ' é muit', ' b', 'm estudar MAC0110! '] In [26]: lst = s.split('om') # usa 'om' como separador In [27]: lst Out[27]: [' C', 'o é muito b', ' estudar MAC0110! ']
Dicionários
Um dicionário é um conjunto de objetos ou itens cada um dotado de uma chave
e de um valor
.
Um dicionário está sujeito a dois tipos de operações:
- inserção: consiste em introduzir um objeto na tabela
- busca: consiste em encontrar um elemento que tenha uma dada chave.
Dicionário em Python
Python possui dicionários como um tipo nativo, dict
.
As chaves podem ser objetos int
, float
, str
ou outros tipos de dados imutáveis. Os valores podem ser quaiquer objetos. Dicionários, como listas, são mutáveis.
Uma maneira de criar um dicionário é começar com o dicionário vazio e adicionar pares chave-valor. O dicionário vazio é denotado por {}
Para inserirmos um par chave-valor
no dicionário ou alterar o valor associado a uma chave, fazemos simplemente
Exemplos
In [3]: eng2port = {} # dicionário vazio
In [4]: eng2port['one'] = 'um'
In [5]: eng2port['two'] = 'dois'
In [6]: eng2port['three'] = 'treiss'
In [8]: eng2port
Out[8]: {'one': 'um', 'two': 'dois', 'three': 'treiss'}
In [9]: eng2port['um']
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-9-69ed764ca20e> in <module>
----> 1 eng2port['um']
KeyError: 'um'
In [10]: eng2port['one']
Out[10]: 'um'
In [11]: eng2port['three']
Out[11]: 'treiss'
In [12]: eng2port['three'] = 'três' # são mutáveis
In [13]: eng2port
Out[13]: {'one': 'um', 'two': 'dois', 'three': 'três'}
Para percorrermos todos os valores de um dicionário usamos:
In [2]: d = {False: 0, True: 1, 'Bom': 'dia', 'pi': 3.14, 'e': 2.71}
In [3]: for chave in d:
...: print(f"{chave}: {d[chave]}")
...:
False: 0
True: 1
Bom: dia
pi: 3.14
e: 2.71
Métodos
Dicionários possuem vários métodos nativos úteis. A seguinte tabela fornece um resumo e mais detalhes podem ser encontrados em Python Documentation.
Método | Parâmetros | Descrição |
---|---|---|
keys() |
nenhum | Retorna uma vista das chaves no dicionário |
values() |
nenhum | Retorna uma vista dos valores no dicionário |
items() |
nenhum | Retorna uma vista dos pares chave-valor no dicionário |
get() |
key | Retorna o valor associado com a chave; ou None |
get() |
key,alt | Retorna o valor associado com a chave; ou alt |
In [1]: d = {False: 0, True: 1, 'Bom': 'dia', 'pi': 3.14, 'e': 2.71} In [2]: type(d) Out[2]: dict In [3]: d.keys() Out[3]: dict_keys([False, True, 'Bom', 'pi', 'e']) In [4]: d.values() Out[4]: dict_values([0, 1, 'dia', 3.14, 2.71]) In [5]: d.items() Out[5]: dict_items([(False, 0), (True, 1), ('Bom', 'dia'), ('pi', 3.14), ('e', 2.71)]) In [6]: len(d) Out[6]: 5 In [7]: valor = d[False] In [8]: valor Out[8]: 0 In [9]: valor = d['pi'] In [10]: valor Out[10]: 3.14 In [11]: valor = d['dia'] --------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-11-7e8be44bd34e> in <module> ----> 1 valor = d['dia'] KeyError: 'dia' In [12]: valor = d.get('dia') In [13]: valor In [14]: type(valor) Out[14]: NoneType In [15]: valor is None Out[15]: True In [16]: valor == None Out[16]: True In [17]: valor = d.get('Bom') In [18]: valor Out[18]: 'dia'