python高级用法

推导式
  • 字典推导式

    scss 复制代码
    x= { i : i**2 for i in (2, 4, 6) }
    print(x)
    print(type(x))
  • 集合推导式

    ini 复制代码
    a = {x for x in 'ahfws' if x not in 'abc'}
  • 列表推导式

    ini 复制代码
    # 在list1中但不在list2中的元素
    result = [x for x in list1 if x not in set(list2)]
    ​
    # 找到名字长度大于3的,并转为大写
    names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
    new_names = [name.upper() for name in names if len(name)>3]
  • 元组推导式

    scss 复制代码
    a = (x for x in range(1,3))
    tuple(a) 
lambda
  • map(function, iterable):将指定的函数应用在列表的每个元素上,并返回一个新的序列

    ini 复制代码
    list1 = (1,2,3)
    xxx= map( lambda x: x**2, list1) # # 算每个元素的平方
    print(list(xxx))   # [1, 4, 9]
  • filter(function, iterable):将指定的函数应用在列表的每个元素上,过滤出函数计算结果为True的元素,最后返回一个新的序列

    ini 复制代码
    numbers = [1, 2, 3, 4]
    xxx= filter(lambda x : x%2 ==0 ,numbers) # 
    print(list(xxx))
  • filter(function, iterable):将列表的第一个元素和第二个元素进行函数计算,将得到的结果与其余的元素继续进行函数计算,最后最后返回一个最终计算结果

    scss 复制代码
    from functools import *
    ​
    numbers = [1, 2, 3, 4]
    xxx= reduce(lambda x,y: x+y, numbers)
    print(xxx)
装饰器
python 复制代码
from functools import wraps
​
def logger(func):
    @wraps(func)
    def decorated(*args, **kwargs):
        return func(*args, **kwargs)
    return decorated
​
@logger
def addition_func(x):
    return x + x
​
print(addition_func(4))  # 输出8
相关推荐
一路向北⁢4 分钟前
Spring Boot 3 整合 SSE (Server-Sent Events) 企业级最佳实践(一)
java·spring boot·后端·sse·通信
风象南10 分钟前
JFR:Spring Boot 应用的性能诊断利器
java·spring boot·后端
爱吃山竹的大肚肚24 分钟前
微服务间通过Feign传输文件,处理MultipartFile类型
java·spring boot·后端·spring cloud·微服务
毕设源码-邱学长2 小时前
【开题答辩全过程】以 基于Springboot的酒店住宿信息管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
咖啡啡不加糖3 小时前
Grafana 监控服务指标使用指南:打造可视化监控体系
java·后端·grafana
gAlAxy...3 小时前
SpringBoot Servlet 容器全解析:嵌入式配置与外置容器部署
spring boot·后端·servlet
BYSJMG4 小时前
计算机毕业设计选题推荐:基于Hadoop的城市交通数据可视化系统
大数据·vue.js·hadoop·分布式·后端·信息可视化·课程设计
BYSJMG4 小时前
Python毕业设计选题推荐:基于大数据的美食数据分析与可视化系统实战
大数据·vue.js·后端·python·数据分析·课程设计·美食
东东5164 小时前
OA自动化居家办公管理系统 ssm+vue
java·前端·vue.js·后端·毕业设计·毕设
程序员鱼皮4 小时前
前特斯拉 AI 总监:AI 编程最大的谎言,是 “提效”
前端·后端·ai·程序员·开发