Você está aqui: Python ::: Dicas & Truques ::: Lista (List) |
|
Como filtrar os elementos de uma List do Python usando a função filter()Quantidade de visualizações: 2937 vezes |
|
A função filter() da linguagem Python é muito útil quando precisamos aplicar um filtro aos elementos de uma List (lista). Na verdade, esta função pode ser aplicada a qualquer conjunto como mais de um elemento, tais como sets, tuples, strings, etc. Para usar a função filter() nós só precisamos informar uma função de comparação (que testará cada elemento da lista e retornará True ou False informando se o elemento deve ou não ser filtrado) e a coleção de dados na qual o filtro será aplicado. O retorno será uma nova List contendo apenas os elementos que passaram no teste do filtro. Veja um trecho de código no qual filtramos uma List de notas de alunos e retornamos apenas as notas maiores ou iguais a 7,0: # função para filtrar as notas maiores ou iguais a 7,0 def filtrar_notas(nota): if (nota >= 7.0): return True else: return False # método principal def main(): # lista com todas as notas dos alunos notas = [5.4, 9.2, 8.0, 3.7, 10.0, 4.1] # mostra a lista com todas as notas ...... Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py Todas as notas: [5.4, 9.2, 8.0, 3.7, 10.0, 4.1] Maiores ou iguais a 7.0: [9.2, 8.0, 10.0] É possível, em vez de fornecer uma função Python para a função filter(), indicarmos uma expressão Lambda. Veja como ficaria: # método principal def main(): # lista com todas as notas dos alunos notas = [5.4, 9.2, 8.0, 3.7, 10.0, 4.1] # mostra a lista com todas as notas print("Todas as notas:", notas) # vamos filtrar as notas ...... Execute este novo exemplo e você verá que o resultado é o mesmo. |
|
Link para compartilhar na Internet ou com seus amigos: | |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Portugol - Como testar se um ano é bissexto em Portugol - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 847 vezes |
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa Portugol que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando Portugol Webstudio: // Como testar se um ano é bissexto em Portugol programa { funcao inicio() { // variáveis usadas na resolução do problema inteiro ano // vamos solicitar que o usuário informe um ano escreva("Informe o ano: ") leia(ano) ...... |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa que lê três números e os classifica e exibe em ordem crescenteQuantidade de visualizações: 6331 vezes |
Pergunta/Tarefa: Escreva um programa Java que pede ao usuário três números inteiros. Em seguida, ordene os três valores em ordem crescente e os exiba. Sua saída deverá ser parecida com: Informe o primeiro valor: 7 Informe o segundo valor: 4 Informe o terceiro valor: 6 Os números ordenados em ordem crescente são: 4 6 7 Veja a resolução comentada deste exercício usando Java console: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos pedir que o usuário informe três números inteiros System.out.print("Informe o primeiro valor: "); int num1 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o segundo valor: "); int num2 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o terceiro valor: "); int num3 = Integer.parseInt(entrada.nextLine()); // o primeiro número é maior que o segundo? vamos trocá-los if(num1 > num2){ int temp = num1; ...... |
Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle |
Como usar o laço for da linguagem DartQuantidade de visualizações: 3761 vezes |
Em algumas situações os nossos códigos precisam executar repetidas vezes uma ou mais instruções. Para isso a linguagem Dart, assim como C, C++, Java, Python, JavaScript, Delphi, etc, nos oferece o laço for, ou loop for. Este laço é usado quando sabemos exatamente a quantidade de vezes que a instrução (ou grupo de instruções) deverá ser repetida. Veja um exemplo no qual usamos este laço para contar de 1 até 10: void main() { for (int i = 1; i <= 10; i++) { ...... Ao executar este código nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 Veja que o laço for em Dart é composto de três partes: a) Inicialização da variável de controle; b) O teste de continuidade; c) O incremento ou decremento da variável de controle. Como a execução do laço se inicia no teste de continuidade, é possível termos um laço for que nunca será executado. Veja: void main() { for (int i = 1; i > 5; i++) { ...... Execute este código e perceberá que nenhum valor é impresso. Isso aconteceu porque o teste condicional retornou um valor falso, impedindo até mesmo a primeira execução do laço. Veja agora um laço for que conta de 10 até 1: void main() { for (int i = 10; i >= 1; i--) { ...... Para finalizar em grande estilo, veja um laço for que pede para o usuário digitar 5 idades e, em seguida, mostra a média das idades lidas: // Vamos importar a biblioteca dart:io import 'dart:io'; void main() { int soma = 0; // vamos solicitar 5 idades for (int i = 0; i < 5; i++) { stdout.write("Digite uma idade: "); ...... A execução deste código mostrará o seguinte resultado: c:\estudos_dart>dart laco_for.dart Digite uma idade: 18 Digite uma idade: 21 Digite uma idade: 34 ...... |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 12009 vezes |
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa Java que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos ler o primeiro lado do triângulo System.out.print("Informe o primeiro lado do triângulo: "); int ladoA = Integer.parseInt(entrada.nextLine()); // vamos ler o segundo lado do triângulo System.out.print("Informe o segundo lado do triângulo: "); int ladoB = Integer.parseInt(entrada.nextLine()); // vamos ler o terceiro lado do triângulo System.out.print("Informe o terceiro lado do triângulo: "); int ladoC = Integer.parseInt(entrada.nextLine()); // os lados informados formam um triângulo? ...... |
Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como declarar e inicializar uma matriz de Integer em DelphiQuantidade de visualizações: 11983 vezes |
Nesta dica eu mostrarei como declarar e inicializar uma matriz de inteiros (Integer) em Delphi. Mostrarei também como exibir o valor de cada elemento usando um laço For. Veja o código:procedure TForm3.Button1Click(Sender: TObject); var // vamos declarar uma matriz de 10 inteiros valores: array[1..10] of Integer; i: Integer; begin // vamos inicializar a matriz com os números pares de 2 até 20 for i := Low(valores) to High(valores) do ...... Ao executar este código teremos o seguinte resultado: 2 4 6 8 10 12 14 16 18 20 |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
Quem Somos |
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |