Skip to content

Come usare len() in Python

Python

In Python, funzione incorporata len() restituisce la lunghezza (numero di elementi, caratteri, ecc.) di oggetti di vario tipo, come elenchi, stringhe, dizionari, ecc.

In questo articolo vengono descritti i seguenti contenuti.

  • Ottieni il numero di elementi nell’elenco con len()
  • Ottieni il numero di elementi nella tupla con len()
  • Ottieni il numero di elementi nel set con len()
  • Ottieni il numero di elementi in dict con len()
  • Ottieni il numero di caratteri in str con len()
  • len() per numpy.ndarray
  • len() per pandas.DataFrame e pandas.Series
  • len() per i numeri (int, float, ecc.)

Ottieni il numero di elementi nell’elenco con len()

Se list viene passato a len(), viene restituito il numero di elementi.

l = [0, 1, 2]

print(len(l))
# 3

Vedere il seguente articolo per maggiori dettagli, incluso il caso degli elenchi bidimensionali (elenchi di elenchi).

Ottieni il numero di elementi nella tupla con len()

Se tuple viene passato a len(), viene restituito il numero di elementi.

t = (0, 1, 2)

print(len(t))
# 3

Ottieni il numero di elementi nel set con len()

Se set viene passato a len(), viene restituito il numero di elementi.

s = {0, 1, 2}

print(len(s))
# 3

Per ulteriori informazioni sul set, vedere l’articolo seguente.

Ottieni il numero di elementi in dict con len()

Se un dizionario dict viene passato a len(), viene restituito il numero di elementi.

d = {'key0': 0, 'key1': 1, 'key2': 2}

print(len(d))
# 3

Ottieni il numero di caratteri in str con len()

Se una stringa str viene passata a len(), viene restituito il numero di caratteri.

s = 'abcde'

print(len(s))
# 5

Per ulteriori informazioni sulle sequenze di escape, sulle interruzioni di riga e così via, vedere l’articolo seguente.

len() per numpy.ndarray

Se un array NumPy ndarray viene passato a len(), viene restituita la dimensione della prima dimensione.

import numpy as np

a_1d = np.arange(3)

print(a_1d)
# [0 1 2]

print(len(a_1d))
# 3

a_2d = np.arange(12).reshape((3, 4))

print(a_2d)
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]

print(len(a_2d))
# 3

a_3d = np.arange(24).reshape((2, 3, 4))

print(a_3d)
# [[[ 0  1  2  3]
#   [ 4  5  6  7]
#   [ 8  9 10 11]]
#  [[12 13 14 15]
#   [16 17 18 19]
#   [20 21 22 23]]]

print(len(a_3d))
# 2

Usa gli attributi forma e dimensione per ottenere la dimensione di ciascuna dimensione e il numero di tutti gli elementi. Vedere i seguenti articoli per i dettagli.

len() per pandas.DataFrame e pandas.Series

Puoi ottenere il numero di righe passando pandas.DataFrame a len() e il numero di elementi passando pandas.Series.

import pandas as pd

df = pd.DataFrame({'A': [0, 1, 2], 'B': [3, 4, 5]}, index=['a', 'b', 'c'])

print(df)
#    A  B
# a  0  3
# b  1  4
# c  2  5

print(len(df))
# 3

s = pd.Series([0, 1, 2], index=['a', 'b', 'c'])

print(s)
# a    0
# b    1
# c    2
# dtype: int64

print(len(s))
# 3

Se vuoi ottenere il numero di colonne o il numero di tutti gli elementi di un pandas.DataFrame, usa gli attributi shape e size. Vedere il seguente articolo per i dettagli.

len() per i numeri (int, float, ecc.)

Il passaggio di un oggetto che non dispone del metodo speciale __len__ a len() genera l’errore TypeError.

Si noti che per i tipi predefiniti, i numeri (int e float) ei valori booleani (bool) generano l’errore.

# print(len(100))
# TypeError: object of type 'int' has no len()

# print(len(0.1))
# TypeError: object of type 'float' has no len()

# print(len(True))
# TypeError: object of type 'bool' has no len()