2010-10-25 11 views
57

Soy nuevo en Python. Veo : utilizado en los índices de listas, especialmente cuando está asociado con llamadas a funciones.Colón (:) en Python lista índice

La documentación de Python 2.7 sugiere que lists.append se traduce en a[len(a):] = [x]. ¿Por qué uno tiene que sufijo len(a) con dos puntos?

Entiendo que : se usa para identificar claves en el diccionario.

+4

¿Dónde obtengo Python 4.7? ¡Yo quiero! En 2.7, [El Tutorial] (http://docs.python.org/tutorial/introduction.html#lists) cubre su pregunta bastante bien. – aaronasterling

Respuesta

94

: es el delimitador de la sintaxis rebanada de 'tajada' sub-partes en secuencias, [start:end]

[1:5] is equivalent to "from 1 to 5" (5 not included) 
[1:] is equivalent to "1 to end" 
[len(a):] is equivalent to "from length of a to end" 

reloj http://www.youtube.com/watch?v=tKTZoB2Vjuk en torno a 40:00 Comienza a explicar eso.

Funciona con tuplas, diccionarios y listas, también.

+7

Recuerde que [1: 5] comienza con el objeto en el índice 1, y el objeto en el índice 5 no está incluido. También puede hacer una copia de una lista con [:] –

+2

. Porque en realidad no es tan fácil la puntuación de Google como ':', apreciaba particularmente encontrar su respuesta y la encontré útil. Incluso usando algo así como Symbolhound, es tan usado que temía no poder encontrar una respuesta rápidamente. –

+0

No funciona con diccionarios. aplicar d [: 5] es el equivalente de d .__ getitem __ (slice (0, 5, None)). Una rebanada no es manejable. –

7

a[len(a):] - Esto le da la longitud de un hasta el final. Selecciona un rango Si invierte a[:len(a)] le dará el comienzo para lo que sea len(a).

Cuestiones relacionadas