首页 > 其他分享 >骚操作之——lamda表达式

骚操作之——lamda表达式

时间:2023-07-25 22:02:22浏览次数:40  
标签:lamda items age 列表 result print 操作 表达式 lambda

Lambda表达式是一种用于简化函数定义的语法结构,它可以将一个匿名函数作为参数传递给其他函数或方法。以下是一些常见的Lambda表达式的用法,以及一个例子:

1. 列表排序:
List<Integer> numbers = Arrays.asList(5, 2, 1, 3, 4);
numbers.sort((a, b) -> a.compareTo(b));
```

2. 过滤列表:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
```

3. 遍历列表:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach(n -> System.out.println(n));
```

4. 映射列表:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<String> stringNumbers = numbers.stream()
.map(n -> String.valueOf(n))
.collect(Collectors.toList());

5. 按条件计算:
int result = calculate((a, b) -> a + b, 10, 5);

6. 计算集合的总和:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
.reduce(0, (a, b) -> a + b);

7. 使用自定义函数式接口:
interface MyFunction {
int calculate(int a, int b);
}

MyFunction add = (a, b) -> a + b;
int result = add.calculate(10, 5);
```

1. 遍历列表并打印每个元素的值
```
items = [1, 2, 3, 4, 5]
result = list(map(lambda x: x, items))
print(result)
```

2. 使用条件表达式过滤列表中的元素
```
items = [1, 2, 3, 4, 5]
result = list(filter(lambda x: x % 2 == 0, items))
print(result)
```

3. 对列表中的元素求平方
```
items = [1, 2, 3, 4, 5]
result = list(map(lambda x: x**2, items))
print(result)
```

4. 将列表中的元素转换为字符串
```
items = [1, 2, 3, 4, 5]
result = list(map(lambda x: str(x), items))
print(result)
```

5. 对字典列表按照某个键进行排序
```
items = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}]
result = sorted(items, key=lambda x: x['age'])
print(result)
```

6. 按照字符串长度对列表中的字符串排序
```
items = ['apple', 'banana', 'cherry', 'date']
result = sorted(items, key=lambda x: len(x))
print(result)
```

7. 使用加法运算符对两个数字进行操作
```
a = 3
b = 5
result = (lambda x, y: x + y)(a, b)
print(result)
```

8. 检查列表中是否存在满足特定条件的元素
```
items = [1, 2, 3, 4, 5]
result = any(x % 2 == 0 for x in items)
print(result)
```

9. 使用reduce计算列表中所有元素的乘积
```
from functools import reduce
items = [1, 2, 3, 4, 5]
result = reduce(lambda x, y: x * y, items)
print(result)
```

10. 将列表中的字符串转换为大写
```
items = ['apple', 'banana', 'cherry', 'date']
result = list(map(lambda x: x.upper(), items))
print(result)
```

11. 使用排序函数对列表中的元素进行自定义排序
```
items = [5, 3, 2, 4, 1]
result = sorted(items, key=lambda x: x % 3)
print(result)
```

12. 使用reduce计算列表中所有元素的和
```
from functools import reduce
items = [1, 2, 3, 4, 5]
result = reduce(lambda x, y: x + y, items)
print(result)
```

13. 使用filter过滤列表中的空字符串
```
items = ['apple', '', 'banana', '', 'cherry']
result = list(filter(lambda x: x != '', items))
print(result)
```

14. 将字典列表按照多个键进行排序
```
items = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}]
result = sorted(items, key=lambda x: (x['age'], x['name']))
print(result)
```

15. 将列表中的元素转换为整型
```
items = ['1', '2', '3', '4', '5']
result = list(map(lambda x: int(x), items))
print(result)
```

16. 检查列表中是否所有元素都满足特定条件
```
items = [2, 4, 6, 8, 10]
result = all(x % 2 == 0 for x in items)
print(result)
```

17. 判断列表中是否存在某个元素
```
items = ['apple', 'banana', 'cherry', 'date']
result = any(x == 'banana' for x in items)
print(result)
```

18. 使用排序函数对字典列表的键进行排序
```
items = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}]
result = sorted(items, key=lambda x: x.keys())
print(result)
```

19. 使用reduce计算列表中所有元素的平均值
```
from functools import reduce
items = [1, 2, 3, 4, 5]
result = reduce(lambda x, y: (x + y) / 2, items)
print(result)
```

20. 检查列表中是否所有字符串都以特定后缀结尾
```
items = ['apple', 'banana', 'cherry', 'date']
result = all(x.endswith('e') for x in items)
print(result)
```

标签:lamda,items,age,列表,result,print,操作,表达式,lambda
From: https://www.cnblogs.com/VisionGo/p/17581155.html

相关文章

  • vb.net 模仿键盘操作
    模仿键盘操作inVB.NET在编写自动化测试、数据录入等任务时,模拟键盘操作是一项非常有用的技术。在VB.NET中,我们可以使用SendKeys类来模仿键盘操作。SendKeys类允许我们向活动窗口发送多个按键和键盘命令,实现模拟键盘输入的效果。本文将介绍SendKeys类的基本使用方法,并提供一些常......
  • Redis操作类
    usingCSRedis.Internal.ObjectPool;usingSystem;usingSystem.Collections.Concurrent;usingSystem.Collections.Generic;usingSystem.Diagnostics;usingSystem.Linq;usingSystem.Text.RegularExpressions;usingSystem.Threading;usingSystem.Threading.Tasks......
  • Linux系统常用操作命令归纳整理
    操作分类命令查看ls      ls-l(以列表形式显示,容量为B) ls-l(以列表形式显示,容量为B)ls-a(显示隐藏目录)ls-lh(以列表形式显示,容量为KB)ls-i(显示文件id)清屏 clear    /    热键ctrl+L补全文件/查询命令热键tab取消当前指令/结束程序热键ctrl+c切换......
  • Ubuntu中iptables的相关操作命令
    iptables简介:Iptables和UFW (UncomplicatedFirewall)都是Linux操作系统中常用的防火墙管理工具,它们的主要区别如下:相同点:两者都是Linux操作系统中的防火墙管理工具,可以配置网络规则以限制网络流量。工作原理:iptables和UFW都基于netfilter框架来实现防火墙功能。......
  • 正则表达式中test、exec、match的区别介绍及括号的用法
    test、exec、match的简单区别1、testtest返回Boolean,查找对应的字符串中是否存在模式。varstr="1a1b1c";varreg=newRegExp("1.","");alert(reg.test(str));//true2、execexec查找并返回当前的匹配结果,并以数组的形式返回。 varstr="1a1b1c";varreg=newReg......
  • 分布式操作系统是操作系统的终极形态吗?
    昨天一位网友私信我,提出一个问题:“Laxcus分布式操作系统会不会是操作系统发展的终极形态?”。今天觉得有必要把这件事说一说,所以就忙里偷闲写下这篇文章。咱们先说结论:是也不是,需要具体情况具体分析。操作系统发展到今天,基本分为两种:面向个人工作的操作系统,和面向企业业务的操作系统......
  • 数组的常见操作及其算法
    一、数组的常见操作1、定义一个int类型的数组,里面包含10个元素,分别赋一些随机数,然后求出这10个元素的最大值、最小值、总和、平均值。注:随机数公式:(数据类型)(最小值+Math.random()*(最大值-最小值+1))publicstaticvoidtest01(){//创建一维数组int[]a......
  • 聚焦操作系统迁移实践与生态发展 | openEuler Meetup 长沙站圆满结束
    活动回顾12月23日,由openEuler社区和湖南欧拉生态创新中心主办,麒麟信安和湖南省鲲鹏生态创新中心协办的openEuler Meetup 长沙站举办。本次活动集聚社区开发者、用户、企业伙伴、操作系统爱好者,围绕操作系统搬迁进行交流和实践,正式发布《湖南欧拉生态发展白皮书》,并在活动上成立op......
  • 别错过!这场干货满满的操作系统产业峰会回顾来了
    12月28日操作系统产业峰会2022以线上直播的方式圆满举办作为操作系统产业界的年度盛会本次大会干货满满精彩纷呈!赶紧来一起回顾吧!25位重磅嘉宾出席4大系列重磅内容亮相2022年度openEuler领先商业实践奖项揭晓;中国科学院软件研究所联合多家机构和厂商发布基于openEuler的RISC-V......
  • 常用的Access数据库Sql操作辅助类库
    ///<summary>///常用的Access数据库Sql操作辅助类库///</summary>publicclassOleDbHelper{privatestringconnectionString="";privateconststringaccessPrefix="Provider=Microsoft.Jet.OLEDB.4.0;Data......