Questo è venuto in un altro question di recente. Elaborerò il mio numero da
Ellipsis è un oggetto che può essere visualizzato nella notazione di sezione. Ad esempio:
myList[1:2, ..., 0]
L'interpretazione è puramente fino a qualsiasi implementa la funzione __getitem__
e vede Ellipsis
oggetti lì, ma la sua principale (e destinati) utilizzo è in numeric python estensione, che aggiunge un tipo array multidimensionale. Poiché esistono più dimensioni, l'affettatura diventa più complessa di un semplice indice di inizio e fine; è utile poter tagliare anche più dimensioni. Ad esempio, data una matrice 4x4, nell'area superiore sinistra sarebbe definito dalla fetta [:2,:2]
:
>>> a
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]])
>>> a[:2,:2] # top left
array([[1, 2],
[5, 6]])
Estendendo ulteriormente questo aspetto, ellissi è qui utilizzato per indicare un segnaposto per il resto delle dimensioni di matrice non specificati. Pensa ad esso come ad indicare la fetta intera [:]
per tutte le dimensioni dello spazio vuoto, quindi per un array 3d, a[...,0]
è lo stesso di a[:,:,0]
e per 4d, a[:,:,:,0]
, allo stesso modo, a[0,...,0]
è a[0,:,:,0]
(con comunque molti due punti nel medio compone il numero completo di dimensioni nell'array).
È interessante notare che, nel python3, l'ellissi letterale (...
) è utilizzabile al di fuori la sintassi slice, in modo da poter effettivamente scrivere:
>>> ...
Ellipsis
Oltre ai vari tipi numerici, no, non credo che sia Usato.Per quanto ne so, è stato aggiunto esclusivamente per uso di Numpy e non ha alcun supporto di base oltre a fornire l'oggetto e la sintassi corrispondente. L'oggetto presente non lo richiedeva, ma il letterale "..." supporto per le fette lo faceva.
vedere le risposte a http://stackoverflow.com/questions/752602/slicing-in-python-expressions -documentation –
L'ho trovato in questo modo: Ho inserito 'x = []; x.append (x); print (x)', per vedere come ha gestito l'ottimizzazione degli oggetti ciclici. Ha restituito '[[...]]'. Ho pensato "Mi chiedo cosa succede se digito in [[...]]' La mia ipotesi era che avrebbe generato un errore di sintassi, invece restituito '[[Ellipsis]]." Python è così strano. la ricerca che seguì mi portò a questa pagina. – Cyoce
nota che il '...' in un repr ricorsivo è solo un segnaposto e non ha alcuna relazione con 'Ellipsis' – Eevee