Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como fazer a seleção? no np.array

Boa.. Eu tenho uma lista contendo os numeros primos de 2 a 10 ela está no formaro abaixo. Um array de listas na primeira posição esta primeiro o número e na segunda posição é 0 (zero) para não primos e 1 (um) para primos como sellecionar a só os numéros primos? Estou errando

import numpy as np    
primos  =np.array([[ 2,  1], [ 3,  1], [ 4,  0], [ 5,  1], [ 6,  0], [ 7,  1], [ 8,  0], [ 9,  0], [10,  0]])
2 respostas
solução!

Olá Claudionor, tudo bom?

Eu pensei em algumas sugestões de como resolver o problema:

  • Percorrendo com um laço for:
for numero, primo in primos:
        if primo:
                print(numero)

Muito Obrigado.

No início não entendi a lógica, depois de rodar percebi que era um for duplo. Não conhecia esse tipo de for ainda.

#código 1

for numero, primo in primos:
        if primo:
                print(numero)

É igual a

#código 2

for numero, primo in primos:
        if primo==1:
                print(numero)

Não sabia que não precissava deixar claro a comparação, primo==1. Valeu

Eu cheguei a outra resposta tambem usando for em list comprehension.

np.array([primos[i] for i in range(len(primos)) if primos[i,1]==1  ])