Red de conocimientos sobre prescripción popular - Conocimiento de las drogas - Comprensión profunda de la función de reducción de Python

Comprensión profunda de la función de reducción de Python

Por ejemplo, en el ejemplo anterior, se implementa la acumulación de un conjunto de números enteros. Suponiendo lst =, hay muchas formas de implementar la acumulación:

La primera: usar la función de suma.

Suma (lst)

Segundo: Modo bucle.

def customer_sum(lst):

Resultado = 0

Para x en lst:

Resultado = x

Resultados de popback

def customer_sum(lst):

Resultado = 0

Y lst:

temp = lst.pop ( 0)

Resultado=temperatura

Resultado de eco de retorno

if nombre == " principal ":

lst =

Imprimir el número total de clientes (lst)

El tercer método: suma recursiva

def add(lst, resultado):

Si lst:

p>

temp = lst.pop(0)

Temperatura = resultado

Devuelve add(lst, temp)

De lo contrario:

Resultados de eco de retorno

if name == "main ":

lst =

Imprimir add(lst, 0)

La cuarta forma: modo de reducción

lst =

Reducción de impresión (λx, y: x y, lst)

lst =

imprimir reducir(λx,y:x y,lst,0)

def agregar(x,y):

retornar x y

imprimir reducir (aumentar, disminuir)

def add(x, y):

Devolver x y

Imprimir reducir(add, lst, 0)

Hay una colección de Secuencia, como contar el número de repeticiones de todas las claves en esta colección, como 1 que aparece dos veces, 2 que aparece dos veces, etc. La idea general es utilizar un diccionario para almacenar, los elementos son las claves del diccionario y el número de apariciones es el valor del diccionario. Todavía hay muchos métodos.

El primer tipo: utilizado para juzgar el bucle

Defina estadísticas (lst):

dic = {}

Para lst k:

Si no es k del centro de información al conductor:

dic[k] = 1

En caso contrario:

dic[k ] =1

Volver al Centro de información del conductor

lst =

Imprimir (Datos estadísticos (lst))

Segundo: Casualmente, Primero use el método set para copiar la lista y luego use el método de conteo de la lista.

Definir estadística 2 (primera vez):

m = set (lst)

dic = {}

For m x:

dic[x] = lst.count(x)

lst =

Estadísticas de impresión 2 (Primera edición)

La tercera manera: use el modo reducir.

Definir estadísticas (dic, k):

Si no es k del centro de información al conductor:

dic[k] = 1

De lo contrario:

dic[k] =1

Volver al Centro de información del conductor

lst =

Imprimir reducir (estadísticas , lst , {})

o

d = {}

extender(lst)

imprimir reducir(stats, d)

p>

A través de los ejemplos anteriores, descubrimos que cualquier problema que requiera operaciones en conjuntos, tenga resultados estadísticos y pueda resolverse mediante bucles o recursiones generalmente se puede implementar mediante reducción.