Contare i numeri positivi e negativi in Python

Contare i numeri positivi e negativi all'interno di una lista è un'operazione comune in Python. Spesso, quando si lavora con i dati numerici, è importante avere un'idea di quanti valori siano sopra o sotto una certa soglia, in questo caso lo zero.

Contare numeri positivi e negativi con il ciclo for in Python

Uno dei metodi più semplici per contare i numeri positivi e negativi in una lista è utilizzare un ciclo for. In questo approccio, iteriamo attraverso ogni elemento della lista e verifichiamo se il numero è positivo o negativo. Ad esempio:

# Lista di numeri numeri = [1, -3, 4, -2, 9, -8, 0, 5, -7] # Variabili per contare positivi e negativi positivi = 0 negativi = 0 # Ciclo per contare i numeri positivi e negativi for numero in numeri:     if numero > 0:         positivi += 1     elif numero < 0:         negativi += 1 # Stampa i risultati print(f"Numeri positivi: {positivi}") print(f"Numeri negativi: {negativi}")

Python offre una sintassi chiamata list comprehension che permette di scrivere cicli for in modo più compatto e leggibile. Possiamo utilizzare questa tecnica per contare i numeri positivi e negativi all'interno di una lista.

# Lista di numeri numeri = [1, -3, 4, -2, 9, -8, 0, 5, -7] # Utilizzo di list comprehension per contare positivi e negativi positivi = len([num for num in numeri if num > 0]) negativi = len([num for num in numeri if num < 0]) # Stampa i risultati print(f"Numeri positivi: {positivi}") print(f"Numeri negativi: {negativi}")

Contare i numeri positivi e negativi utilizzando NumPy

Se stai lavorando con una grande quantità di dati, potresti voler utilizzare librerie specializzate come NumPy, che offrono strumenti avanzati per lavorare con array numerici. NumPy è estremamente efficiente e veloce quando si tratta di gestire grandi dataset.

import numpy as np # Array di numeri numeri = np.array([1, -3, 4, -2, 9, -8, 0, 5, -7]) # Conteggio dei numeri positivi e negativi positivi = np.sum(numeri > 0) negativi = np.sum(numeri < 0) # Stampa i risultati print(f"Numeri positivi: {positivi}") print(f"Numeri negativi: {negativi}")

Nota: è importante notare che, nei casi mostrati, lo zero non viene considerato né positivo né negativo. Se vuoi contare anche gli zeri, puoi facilmente aggiungere una condizione per verificarli:

# Conteggio degli zeri zeri = np.sum(numeri == 0) print(f"Zeri: {zeri}")