Passando None
-list
costruttore di Python è un TypeError
:In Python, perché è elencato (Nessuno) un errore ma [Nessuno] non lo è?
>>> l = list(None)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not iterable
Ma usando le parentesi per creare un'istanza di un list
va bene; utilizzando None
con le funzioni built-in è anche bene:
>>> l = [None]
>>> l.append(None)
>>> l
[None, None]
La mia comprensione è che list()
e []
erano modalità equivalenti di creazione di un nuovo list
. Cosa mi manca?
No, 'lista()' e '[]' sono ** non ** equivalente. 'list ([...])' e '[...]' sarebbero equivalenti. 'lista ('a', 'b', 'c')' * non funziona neanche *. –
@MartijnPieters Non penso che sia esatto. 'list ([...])' creerà una copia. – wim
@wim: Certo, e la lista che hai passato viene scartata di nuovo. Il risultato finale è lo stesso. Il punto è che 'list (...)' non è lo stesso qui. –