青春纸盒子

文: 芦苇

你喜欢我笑的样子

我靠上了落寞的窗子

晚风吹起了我的袖子

明月沾湿了你的眸子


转身,你走出了两个人的圈子

树影婆娑,整座院子


挽起袖子

回头,把揽你忧伤一地的影子

装进,青春,这纸盒子


更多代码请关注我的微信小程序: "ecoder"

luwei0915

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

022_Python3 lambda函数高级用法

复制代码
# -*- coding: UTF-8 -*-

# 1.1 简单用法 求和
num = lambda x, y, z: x + y + z
print(num(2, 3, 4))  # 9


# 1.2 作为函数返回
def action(x):
    return lambda y: x + y


# 这里定义了一个action函数,返回了一个lambda表达式。其中lambda表达式获取到了上层def作用域的变量名x的值。
# a是action函数的返回值,a(22),即是调用了action返回的lambda表达式。
a = action(2)
print(a(22))  # 24

# 1.3 多参数
f = lambda x, *args, para, **kwargs: [args, para, kwargs]
print(f(1, 2, 3, para='number', name='Jack', sex='male'))  # [(2, 3), 'number', {'name': 'Jack', 'sex': 'male'}]

# 1.4 与 map
lst = [1, 2, 3, 4, 5]
print(list(map(lambda x: x * x, lst)))  # [1, 4, 9, 16, 25]

# 1.5 与 filter、reduce
from functools import reduce

lst = [1, 2, 3, 4, 5]
f_res = filter(lambda x: x > 3, lst)
r_res = reduce(lambda x, y: x * y, lst)

print('大于3的数字有:', list(f_res))  # 大于3的数字有: [4, 5]
print('累乘结果为:', r_res)  # 累乘结果为: 120

# 1.6 与 if 判断
f = lambda x: 'even' if x % 2 == 0 else 'odd'
print(f(3))  # odd

# 1.7 与 sorted    sorted(iterable, key=None, reverse=False)
L = [{'a': 1, 'b': 4}, {'a': 1111, 'b': 2}, {'a': 1111, 'b': 3}]
L_sorted = sorted(L, key=lambda d: d['b'], reverse=False)
print(L_sorted)  # [{'a': 1111, 'b': 2}, {'a': 1111, 'b': 3}, {'a': 1, 'b': 4}]

d = {'a': 25, 'c': 27, 'b': 20, 'd': 22}
L_sorted = sorted(d.items(), key=lambda x: x[0])
print(L_sorted)  # [('a', 25), ('b', 20), ('c', 27), ('d', 22)]

d = {'a': 25, 'c': 27, 'b': 20, 'd': 22}
L_sorted = sorted(d.items(), key=lambda x: x[1])
print(L_sorted)  # [('b', 20), ('d', 22), ('a', 25), ('c', 27)]

# 反转字符串排序,'moT', 'yrreJ', 'ekipS', 'ekyT'
r_list = sorted(['Tom', 'Jerry', 'Spike', 'Tyke'], key=lambda x: x[::-1])
print(r_list)  # ['Spike', 'Tyke', 'Tom', 'Jerry']
复制代码

 

posted on   芦苇の  阅读(717)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示