You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A utilização de listas em Python é algo trivial. A facilidade provida pela linguagem aliada a simplicidade da estrutura de dados *list* a torna, ao lado dos dicionários *dict*, uma das estrutura de dados mais utilizadas em Python. Aqui neste tutorial irei compartilhar algo que aprendi trabalhando com listas e dicionário em Python, mais especificamente no que diz respeito a *abrangência* de listas (e dicionários).
14
13
15
-
###Abrangência de listas
14
+
## Abrangência de listas
16
15
17
16
A abrangência de listas, ou do inglês *list comprehensions*, é um termo utilizado para descrever uma sintaxe compacta que o Python nos oferece para criamos uma lista baseada em outra lista. Pareceu confuso? Ok, vamos aos exemplos!
18
17
19
-
####Exemplo 1
20
-
Vamos suport que temos a seguinte lista de valores:
18
+
### Exemplo 1
19
+
Vamos supor que temos a seguinte lista de valores:
21
20
22
21
```python
23
22
valores = [1, 2, 3, 4, 5]
@@ -50,7 +49,7 @@ valores_dobro = [valor*2 for valor in valores]
50
49
```
51
50
Bacana não? O exemplo seguinte podemos incrementar mais o exemplo acima.
52
51
53
-
####Exemplo 2
52
+
### Exemplo 2
54
53
55
54
Vamos supor que desejamos criar uma lista onde apenas os valores pares (resto da divisão por 2 é zero) serão multiplicados por 2. Abaixo temos a nossa lista de valores:
56
55
@@ -86,7 +85,7 @@ valores_dobro = [valor * 2 for valor in valores if valor % 2 == 0]
86
85
```
87
86
Muito mais simples, não? Vamos para o próximo exemplo.
88
87
89
-
####Exemplo 3
88
+
### Exemplo 3
90
89
91
90
De maneira semelhante a lista, nós também podemos aplicar a abrangência em lista e dicionários. Segue um exemplo onde temos o seguinte dicionário:
92
91
@@ -121,14 +120,12 @@ Aplicando agora a abrangência, conseguimos compactar o código acima de maneira
121
120
novo_dicionario = {chave: 2* valor for chave, valor in dicionario.items() if chave in ['b', 'c', 'd', 'f']}
122
121
```
123
122
124
-
###Conclusão
123
+
## Conclusão
125
124
126
125
Chegamos ao final de mais um tutorial! Sempre temos de ter em mente que tão importante quanto escrever um código que funciona, é mantê-lo (seja por você ou por outro programador). Neste ponto, a abrangência de lista (e outras estruturas de dados) nos ajudam a escrever um código claro e fácil de dar manutenção.
127
126
128
127
Até o próximo tutorial pessoal!
129
128
130
-
**Publicado originalmente:**[Abrangencia de listas e dicionários com Python](http://codigoavulso.com.br/abrangencia-de-listas-e-dicionarios.html)
131
-
132
-
### Referências
129
+
## Referências
133
130
134
131
*[Python eficaz: 59 maneiras de programar melhor em Python; Slatkin, Brett; Novatec Editora, 2016.](https://novatec.com.br/livros/python-eficaz/)
Imagine a seguinte situação: você passou alguns dias (ou mesmo meses) desenvolvendo uma módulo python, escreveu testes, implementou funcionalidades e depois de alguns ajustes, chegou a hora de liberar seu software para que outros desenvolvedores possam utilizá-lo. Qual o melhor modo de distribuí-lo?
Copy file name to clipboardExpand all lines: content/gerando-relatorios-de-teste-com-coveralls.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,11 +6,10 @@ Tags: python, coveralls, coverage, relatório, test
6
6
Author: Michell Stuttgart
7
7
Email: michellstut@gmail.com
8
8
Github: mstuttgart
9
-
Linkedin: michellstut
10
-
Facebook: michell.stuttgart
11
-
Site: http://codigoavulso.com.br
9
+
Linkedin: mstuttgart
10
+
Site: https://mstuttgart.github.io/
12
11
13
-
Na [terceira parte](http://codigoavulso.com.br/python-com-unittest-travis-ci-coveralls-e-landscape-parte-3-de-4.html) do tutorial sobre *unittest*, vimos como utilizar o serviço [Coveralls](https://coveralls.io/) para gerar relatórios sobre o testes do nosso projeto. Entretanto, uma "desvantagem" do serviço é que o processo de análise é iniciado apenas quando executarmos um *push* ou um *pull request*. Sendo assim, não seria interessante termos a liberdade de executar esses testes localmente?
12
+
Na [terceira parte](https://mstuttgart.github.io/2016/04/29/2016-04-29-python-com-unittest-travis-ci-coveralls-e-landscape-parte-3-de-4/) do tutorial sobre *unittest*, vimos como utilizar o serviço [Coveralls](https://coveralls.io/) para gerar relatórios sobre o testes do nosso projeto. Entretanto, uma "desvantagem" do serviço é que o processo de análise é iniciado apenas quando executarmos um *push* ou um *pull request*. Sendo assim, não seria interessante termos a liberdade de executar esses testes localmente?
14
13
15
14
Felizmente, os desenvolvedores do [Coveralls](https://coveralls.io/) pensaram nisso e criaram um conjunto de comandos que nos permite executá-lo pelo terminal.
16
15
@@ -144,4 +143,4 @@ Neste tutorial vimos um pouco mais sobre o `Coveralls`. Evitei colocar as inform
144
143
145
144
É isso pessoal, obrigado pela leitura e até o próximo tutorial.
0 commit comments