¿Que significa?

Estoy analizando un código Python y no sé qué

pop = population[:] 

medio. ¿Es algo así como listas de matrices en Java o como una matriz bidimensional? Podría apreciar algo de ayuda, gracias.

Es un corte, y lo que hace depende del tipo de population . Si la population es una lista, esta línea creará una copia de la lista. Para un objeto de tipo tuple o str , no hará nada (la línea hará lo mismo sin [:] ), y para una matriz NumPy (por ejemplo), creará una nueva vista para los mismos datos.

También puede ser útil saber que una porción de la lista en general hace una copia de parte de la lista. Por ejemplo, la population[2:4] devolverá una lista que contiene la población [2] y la población [3] (el corte es exclusivo de la derecha). Dejando a la izquierda el índice izquierdo y derecho, como en la population[:] se establecen por defecto 0 y longitud (población) respectivamente, seleccionando así la lista completa. Por lo tanto, este es un idioma común para hacer una copia de una lista.

Bueno … esto realmente depende del contexto. En última instancia, pasa un objeto de __setitem__ ( __delitem__ slice(None,None,None) ) a uno de los siguientes métodos: __getitem__ , __setitem__ o __delitem__ . (En realidad, si el objeto tiene un __getslice__ , se usará en lugar de __getitem__ , pero ahora está en desuso y no se debe usar).

Los objetos pueden hacer lo que quieran con la rebanada.

En el contexto de:

 x = obj[:] 

Esto llamará a obj.__getitem__ con el objeto de rebanada pasado. De hecho, esto es completamente equivalente a:

 x = obj[slice(None,None,None)] 

(aunque el primero es probablemente más eficiente porque no tiene que buscar el constructor de slice , todo se hace en bytecode).

Para la mayoría de los objetos, esta es una forma de crear una copia superficial de una parte de la secuencia.

Siguiente:

 x[:] = obj 

Es una forma de configurar los elementos (se llama __setitem__ ) en función de obj .

y, creo que probablemente puedas adivinar qué:

 del x[:] 

llamadas ;-).

También puede pasar diferentes rebanadas:

 x[1:4] 

construcciones de slice(1,4,None)

 x[::-1] 

construcciones de slice(None,None,-1) y así sucesivamente. Lectura adicional: explique la notación de corte de Python

Es una porción desde el principio de la secuencia hasta el final, generalmente produciendo una copia superficial.

(Bueno, es más que eso , pero no necesitas preocuparte todavía).

Crea una copia de la lista, en lugar de simplemente asignarle un nuevo nombre a la lista ya existente.

[:]
utilizado para el limitador o rebanar en matriz, hash
p.ej:
[1: 5] para mostrar valores entre 1 inclusive y 5 exclusivos, es decir 1-4
[inicio fin]

básicamente se usa en la matriz para dividir, comprenda la variable de aceptación de corchetes que significa valor o clave para mostrar, y “:” se usa para limitar o dividir la matriz completa en paquetes.