在jupyter中写C#【2】—函数式编程之 Linq日常

一、集合操作

1、去除重复的项-Distinct()

在这里插入图片描述

string[] planets = { "Mercury", "Venus", "Venus", "Earth", "Mars", "Earth" };
IEnumerable<string> query = from planet in planets.Distinct()
                            select planet;
query

另外的一种写法
在这里插入图片描述
再另外一种就是tohashset,异曲同工,更符合数学的思想
在这里插入图片描述

2、在集合A但不在集合B中-Except()

在这里插入图片描述

string[] myset1 = {"a","b","c","d","e"};
string[] myset2 = {"a","b","c","d"};
myset1.Except(myset2)

3、集合交集 - Intersect()

在这里插入图片描述

string[] set1 = { "a", "b", "c", "d" };
string[] set2 = { "b", "d", "e", "f" };

set1.Intersect(set2)

4、集合并集——Union()

在这里插入图片描述

string[] set1 = { "a", "b", "c", "d" };
string[] set2 = { "b", "d", "e", "f" };
set1.Union(set2)

二、列表推导-Select()

从一个列表,按照给定的方法,生成新的列表
用列表推导,如何从第一张表(实际上是一个数组)生成第二张表
在这里插入图片描述
在这里插入图片描述

Enumerable.Range(1, 5).Select(x=> Tuple.Create(x,x * 2,x*x+3))

三、Zip()

三个列并成一个表
在这里插入图片描述
表中每一行是一个什么类型呢
在这里插入图片描述

使用场合:
之前用的最多的地方是:列表推导的时候,从三个list中,取值,经过计算后,返回一个list
col1.Zip(col2,col3)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值