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))