Notas de estudio básico de Python 06-desempaquetado de tipos de datos variables de intercambio expresión lambda funciones de orden superior

1. Desembalaje

Tupla:

def func(a,b):
    return a,b
num1 , num2 = func(10,20)

diccionario:

dict1 = {
    
    '姓名':'Ray','年龄':18}
key1 , key2 =dict1
print(key1)
print(key2)		# 拆包得到的是key值
print(dict1[key1])
print(dict1[key2])
# 姓名
# 年龄
# Ray
# 18

2. Intercambio de variables

a = 10
b = 20
a,b = b,a

3. Tipo de datos

Los datos se pueden modificar directamente, si se puede, es un tipo de variable, si no, es un tipo inmutable.
Tipo de variable: Lista de colección de diccionario.
Tipo inmutable: tupla de cadena de punto flotante entero

4. Expresión lambda

Si una función tiene un valor de retorno y solo un código, puede usar lambda para simplificar la
sintaxis: nombre de la función = lista de parámetros lambda: expresión
Nota:
Los parámetros de la expresión lambda son opcionales y los parámetros de la función son totalmente aplicables en la expresión lambda
Una expresión lambda puede aceptar cualquier número de parámetros, pero solo puede devolver el valor de una expresión

fn1 = lambda a,b,c=100:a+b+c    # 默认参数
fn2 = lambda *args : args       # 可变参数
fn3 = lambda **kwargs : kwargs  # 可变参数
func = lambda a,b : a if a>b else b		# 带判断的表达式

Clasificación de datos del diccionario:

students = [
    {
    
    'name':'Tom','age':20},
    {
    
    'name':'Jerry','age':22},
    {
    
    'name':'Ray','age':24}
]
students.sort(key = lambda s:s['name'])     # 按姓名升序
students.sort(key = lambda s:s['name'],reverse = True)     # 按姓名降序

5. Funciones de orden superior

Una función se pasa como parámetro de otra función

def add_num(a,b,f):
    return f(a)+f(b)
print(add_num(10,-2,abs))

6. Funciones integradas de orden superior

6.1 map ()
map (func, lst), aplique la variable de función pasada func a cada elemento de la variable lst y componga el resultado en una nueva lista

list1 = [1,2,3,4,5]
def func(x):
    return x**2
result = map(func,list1)
print(list(result))     # 需要将数据类型转化为list

6.2 reduce ()
reduce (func, lst), donde func debe tener dos parámetros. Cada vez que el resultado del cálculo de func se sigue calculando acumulativamente con el siguiente elemento de la secuencia.
Nota: El parámetro func pasado en reduce () debe recibir dos parámetros

import functools
list1 = [1,2,3,4,5]
def func(a,b):
    return a+b
result = functools.reduce(func,list1)
print(result)   # 15

6.3 filter () La
función filter (func, lst) se usa para filtrar la secuencia, filtrar los elementos que no cumplen las condiciones y devolver un objeto de filtro

list1 = [1,2,3,4,5]
def func(x):
    return x%2 == 0
result = filter(func,list1)
print(list(result))

Supongo que te gusta

Origin blog.csdn.net/qq_44708714/article/details/105027277
Recomendado
Clasificación