el aprendizaje de Python ---- dicotomía y funciones anónimas

En primer lugar, la dicotomía

Algoritmo: es una solución altamente eficiente para el problema
Algoritmos dicotomía

Demanda: Hay una lista en orden numérico desde pequeñas a grandes de
la necesidad de encontrar un número que queremos de la lista de los números de
la forma de hacer más eficiente? ? ?

nums=[-3,4,7,10,13,21,43,77,89]
find_num=10

nums=[-3,4,13,10,-2,7,89]
nums.sort()
print(nums)

Opción uno: La eficiencia global es demasiado baja para atravesar

or num in nums:
    if num == find_num:
        print('find it')
        break

Opción dos: dicotomía

def binary_search(find_num,列表):
    mid_val=找列表中间的值
    if find_num > mid_val:

El siguiente de búsqueda debe ser la mitad derecha de la lista

List = Lista rebanada mitad derecha

    binary_search(find_num,列表)
    elif find_num < mid_val:

El siguiente de búsqueda debe ser la mitad izquierda de la lista

List = Lista rebanada de la mitad izquierda

   binary_search(find_num,列表)
    else:
        print('find it')

nums=[-3,4,7,10,13,21,43,77,89]
find_num=8
def binary_search(find_num,l):
    print(l)
    if len(l) == 0:
        print('找的值不存在')
        return
    mid_index=len(l) // 2

​    if find_num > l[mid_index]:

El siguiente de búsqueda debe ser la mitad derecha de la lista

  l=l[mid_index+1:]
        binary_search(find_num,l)
    elif find_num < l[mid_index]:

El siguiente de búsqueda debe ser la mitad izquierda de la lista

 l=l[:mid_index]
        binary_search(find_num,l)
    else:
        print('find it')

binary_search(find_num,nums)

1, def para definir una función llamada

func=函数的内存地址
def func(x,y):
    return x+y

print(func)

2, la función lamdab para definir el anonimato

print(lambda x,y:x+y)

3, llame a la función anónima

Una manera:

res=(lambda x,y:x+y)(1,2)
print(res)

Segunda manera:

func=lambda x,y:x+y
res=func(1,2)
print(res)

4, llamada anónima para una escena temporal: más anónimo se utiliza en conjunción con otras funciones

Programación de las ideas / paradigma

Proceso orientado ideas de programación:
el núcleo es el "proceso" de la palabra, es decir, el flujo del proceso, en referencia a los pasos de hacer las cosas: lo primero, y luego lo que, después de hacer
basado en la idea de escribir un programa como el diseño de un oleoducto

Ventajas: el problema de procesos complejos, y una mayor simplificación de
desventajas: muy pobre escalabilidad

la programación de análisis de escenarios de ideas orientado a los procesos:
1, no todo el software requiere frecuentes cambios: por ejemplo, escribir un guión
2, incluso si un software requiere cambios frecuentes, ni tampoco quiere decir que todos los componentes de software del cambio se requieren juntas

Supongo que te gusta

Origin www.cnblogs.com/x945669/p/12578595.html
Recomendado
Clasificación