3 Explicación detallada de py seq

  • Las secuencias Py comúnmente usadas son listas, tuplas, diccionarios, cadenas y conjuntos (aunque algunas personas no recomiendan ver diccionarios y conjuntos como secuencias, esto no es importante)

  • Como se muestra en la Figura 3-1.


  • Algunos usos de objetos generadores y rango, mapa, enumerar, filtrar, comprimir y otros objetos son similares a las secuencias, aunque la característica más importante de estos objetos es la evaluación diferida.

  • Las secuencias y rangos ordenados, como listas, tuplas y cadenas, son compatibles con la indexación bidireccional. El primer elemento tiene un subíndice de 0 y el segundo elemento tiene un subíndice de 1.

    • Si se usa un número negativo como índice, el índice del último elemento es -1,
    • El penúltimo subíndice del elemento es -2

Inserte la descripción de la imagen aquí

3.1 Lista: una variedad de hormonas

  • Lista: un espacio de memoria continuo ordenado que contiene varios elementos.
  • Agregue o elimine elementos en la lista, expanda o reduzca automáticamente la memoria,
    • Para garantizar que no haya espacio entre los elementos adyacentes.
  • La función de administración automática de memoria puede reducir en gran medida la carga de los programadores,
    • Pero la inserción y eliminación de elementos que no son de cola implica el movimiento de una gran cantidad de elementos en la lista,
    • Afecta seriamente la eficiencia.
  • Insertar y eliminar elementos en una posición que no sea cola cambiará el índice del elemento en la lista después de la posición, lo que puede causar resultados incorrectos inesperados para algunas operaciones.
  • Intenta agregar y eliminar elementos al final de la lista

  • Los tipos de datos de los elementos en la misma lista pueden ser diferentes. También pueden contener elementos de tipos básicos como enteros, números reales y cadenas. También pueden contener listas, tuplas, diccionarios, conjuntos, funciones y cualquier otro objeto.
  • Si solo hay un corchete y ningún elemento, significa una lista vacía.

Inserte la descripción de la imagen aquí

  • Modo de administración de memoria automática basada en valores de Python. Las variables no almacenan valores directamente, sino que almacenan valores de referencia o direcciones de memoria. Esta es también una razón importante por la cual las variables pueden cambiar los tipos en cualquier momento en Python.
  • Los elementos en las listas de Python también son referencias a valores,
    • Por lo tanto, cada elemento de la lista puede ser diferentes tipos de datos.

  • La función de la lista es poderosa, pero la carga es pesada y la sobrecarga es grande.
  • En el desarrollo real, es mejor elegir un tipo de datos adecuado de acuerdo con el problema real, trate de evitar el uso excesivo de listas

3.1.1 Creación y eliminación de listas

Inserte la descripción de la imagen aquí

  • La función list () convierte tuplas, objetos de rango, cadenas, diccionarios, colecciones u otros objetos iterables en listas.
  • Cuando el diccionario se convierte en una lista, la "clave" del diccionario se convierte en una lista de forma predeterminada.
  • Si desea convertir los elementos del diccionario en una lista, debe usar los Elementos () del objeto del diccionario,
    • También puede usar valores () para indicar que desea convertir los "valores" del diccionario en una lista.

Inserte la descripción de la imagen aquí

  • La lista ya no se usa, la elimina, esto se aplica a todos los tipos de objetos Python

Inserte la descripción de la imagen aquí

3.1.2 Acceso a elementos de lista

Inserte la descripción de la imagen aquí

3.1.3 Métodos comunes de listado

  • Secuencias como listas, tuplas, diccionarios, conjuntos y cadenas son comunes a muchas operaciones, y los diferentes tipos de secuencias tienen algunos métodos únicos o admiten algunos operadores únicos y funciones integradas.

Inserte la descripción de la imagen aquí

1. append () 、 insert () 、 extend ()

  • append () se agrega al final de la lista,
  • Insert () inserta un elemento en cualquier posición especificada en la lista,
  • extend () agrega todos los elementos en otra lista al final de la lista actual.
  • Todas las operaciones están en su lugar, sin afectar la dirección de inicio del objeto de lista en la memoria.
  • Para listas largas, Insertar () es ineficiente al insertar elementos en la cabecera o en el medio de la lista
  • Si realmente desea insertar varios elementos en orden en el encabezado,
    • Se puede agregar primero al final y luego revertirlo con reverse (),
    • O utilice appendleft () proporcionado por el objeto deque deque en las colecciones de biblioteca estándar

Inserte la descripción de la imagen aquí

2.pop () 、 remove () 、 clear ()

  • pop () se usa para eliminar y devolver el elemento en la posición especificada (la última por defecto). Si la posición especificada no es un índice válido, se genera una excepción. Si se llama a pop () en una lista vacía,
    también se genera la excepción
  • remove () elimina el primer elemento de la lista que es igual al valor especificado y
    genera una excepción si el elemento no existe en la lista ;
  • clear () se usa para borrar todos los elementos de la lista.
  • Estos 3 también son operaciones in situ y no afectan la dirección de memoria del objeto de lista.
  • del elimina el elemento en la posición especificada en la lista, que también es una operación in situ.

Inserte la descripción de la imagen aquí

  • La memoria de la lista se reduce y se expande automáticamente. Al insertar o eliminar elementos en el medio de la lista, no solo la eficiencia es baja, sino que el índice de todos los elementos en la lista después de la posición también cambiará, debe
    tener esto en cuenta.

3. count () 、 index ()

  • count () devuelve el número de ocurrencias del elemento especificado en la lista;
  • index () devuelve la primera aparición del elemento especificado en la lista. Si el elemento no está en la lista, se genera una excepción.

Inserte la descripción de la imagen aquí

  • Muchos métodos de objetos de lista arrojarán excepciones en circunstancias especiales, y todo el programa se bloqueará si se produce una excepción.
  • Para evitar causar una excepción y hacer que el programa se bloquee, hay dos métodos: ①
    • Use la estructura de selección para asegurarse de que el elemento especificado exista en la lista antes de llamar al método relevante
    • Usar estructuras de manejo de excepciones.
  • Use la estructura de manejo de excepciones para asegurarse de que la entrada del usuario sea un número de tres dígitos, y luego use la palabra clave para probar si el número ingresado por el usuario está en la lista, y muestre el índice si existe, de lo contrario el mensaje no
    existe.

Inserte la descripción de la imagen aquí

4.Ordenar () 、 revertir ()

  • sort () ordena todos los elementos de acuerdo con las reglas especificadas, el valor predeterminado es ascendente de pequeño a grande
  • reverse () invierte o invierte todos los elementos de la lista

Inserte la descripción de la imagen aquí

  • La ordenación () y la reversión () de la lista de objetos en el lugar ordenando e invirtiendo la lista, no hay valor de retorno. Reemplace los datos originales con los datos procesados, la primera dirección de la lista permanece sin cambios y se pierde el orden original de los elementos en la lista.

  • Si no desea perder el orden original, puede usar las funciones incorporadas sorted () y reverse () introducidas en la Sección 2.4.4.
  • Built-in sorted () devuelve la nueva lista ordenada
  • Incorporado invertido () devuelve un objeto invertido invertido.

Inserte la descripción de la imagen aquí

5 copias ()

  • copy () devuelve una copia superficial de la lista.
  • La copia superficial se refiere a generar una nueva lista,
    • Y copie las referencias de todos los elementos en la lista original a la nueva lista.
    • Si la lista original solo contiene tipos básicos como enteros, números reales y números complejos, o datos inmutables como tuplas y cadenas, generalmente no hay problema.
  • Pero si la lista original contiene tipos de datos variables como listas,
    • Dado que la copia superficial solo copia las referencias de la sublista a la nueva lista, modificar cualquiera afectará a la otra.

Inserte la descripción de la imagen aquí

aquí

3.1.7 Potente función de corte

  • Además de las listas, los cortes también son adecuados para tuplas, cadenas y rangos
    • Pero la operación de corte de lista tiene la función más poderosa
  • Use cortes para interceptar cualquier parte de la lista y regresar a una nueva lista
    • También puede modificar y eliminar algunos elementos de la lista cortando
    • Incluso puede agregar elementos para enumerar objetos cortando

Inserte la descripción de la imagen aquí

  • posición de inicio donde comienza el corte, predeterminado 0
  • end indica dónde se corta el corte (pero no se incluye) (longitud de lista predeterminada)
  • paso indica el tamaño del paso de la porción (predeterminado 1)
  • Se puede omitir cuando start es 0 y se puede omitir cuando end es la longitud de la lista,
    • Se puede omitir cuando el paso es 1, y el último colon también se puede omitir cuando se omite el paso
  • Cuando step es un entero negativo, significa corte inverso,
    • En este momento, el inicio debe estar a la derecha del final

1. Use cortes para obtener algunos elementos de una lista

  • La división devuelve una nueva lista de algunos elementos en la lista
  • A diferencia de usar el índice como subíndice para acceder a los elementos de la lista,
    • El corte no será anormal porque el subíndice cruza el límite,
    • Y simplemente truncar o devolver una lista vacía al final de la lista
      • El código es más robusto.

Inserte la descripción de la imagen aquí

2. Use sectores para agregar elementos a una lista

  • Utilice la operación de corte para insertar nuevos elementos en cualquier posición de la lista sin afectar la dirección de memoria del objeto de la lista.

Inserte la descripción de la imagen aquí

3. Use cortes para reemplazar y modificar elementos en la lista

Inserte la descripción de la imagen aquí

4. Use sectores para eliminar elementos de la lista

Inserte la descripción de la imagen aquí

  • También puede usar del y slice para eliminar algunos elementos de la lista, y los elementos de corte pueden
    no ser continuos

Inserte la descripción de la imagen aquí

5. El sector es una copia superficial de la lista.

  • 3.1.3 mencionado en la introducción de copy () de la lista, el segmento devuelve una copia superficial del elemento de lista,
  • A diferencia de la asignación directa de objetos de lista,
  • También es fundamentalmente diferente de la copia profunda introducida en 3.1.3

Inserte la descripción de la imagen aquí

3.2 tupla: lista ligera

589 artículos originales publicados · 300 alabanzas · 80,000 + vistas

Supongo que te gusta

Origin blog.csdn.net/zhoutianzi12/article/details/105570660
Recomendado
Clasificación