Esto surgió en otra pregunta recientemente. Explicaré mi respuesta a partir de ahí:
Elipsis es un objeto que puede aparecer en notación de corte. Por ejemplo:
myList[1:2, ..., 0]
Su interpretación es puramente hasta cualquier implementa la __getitem__
función y ve Ellipsis
los objetos allí, pero su principal (y la intención) es el uso en el numpy biblioteca de terceros, lo que añade un tipo de matriz multidimensional. Como hay más de una dimensión, el corte se vuelve más complejo que solo un índice de inicio y detención; También es útil poder cortar en varias dimensiones. Por ejemplo, dada una matriz 4x4, el área superior izquierda estaría definida por el segmento [: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]])
Extendiendo esto más, Elipsis se usa aquí para indicar un marcador de posición para el resto de las dimensiones de la matriz no especificadas. Piense en ello como indicando el corte completo [:]
para todas las dimensiones en el espacio en el que se coloca, por lo que para una matriz 3D, a[...,0]
es igual a[:,:,0]
y para 4d a[:,:,:,0]
, de manera similar, a[0,...,0]
esa[0,:,:,0]
(con sin embargo muchos signos de dos puntos en la composición media de hasta el número completo de dimensiones en la matriz).
Curiosamente, en python3, el Elipsis literal ( ...
) se puede usar fuera de la sintaxis de corte, por lo que puede escribir:
>>> ...
Ellipsis
Aparte de los diversos tipos numéricos, no, no creo que se use. Hasta donde yo sé, se agregó únicamente para un uso complejo y no tiene soporte principal aparte de proporcionar el objeto y la sintaxis correspondiente. El objeto que estaba allí no requería esto, pero el soporte literal "..." para los cortes sí.
x=[];x.append(x);print(x)
para ver cómo manejaba la cadena de objetos cíclicos. Se volvió[[...]]
. Pensé "Me pregunto qué sucede si escribo en[[...]]
mi suposición era que arrojaría un error de sintaxis En cambio, volvió?.[[Ellipsis]]
Python es tan raro de búsqueda Google El que me sobrevino trajo a esta página......
en cuenta que en una repetición recursiva es solo un marcador de posición y no tiene relación conEllipsis