加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

.net – 是否有类似于linq的python枚举的东西

发布时间:2020-12-20 12:16:18 所属栏目:Python 来源:网络整理
导读:在 python中,我可以在迭代时轻松获得索引,例如 letters = ['a','b','c'] [(char,i) for i,char in enumerate(letters)][('a',0),('b',1),('c',2)] 我怎么能用linq做类似的事情? 解决方法 当然.有一个 overload of Enumerable.Select 采用Func TSource,int,T
在 python中,我可以在迭代时轻松获得索引,例如

>>> letters = ['a','b','c']
>>> [(char,i) for i,char in enumerate(letters)]
[('a',0),('b',1),('c',2)]

我怎么能用linq做类似的事情?

解决方法

当然.有一个 overload of Enumerable.Select采用Func< TSource,int,TResult>将元素与其索引一起投影:

例如:

char[] letters = new[] { 'a','c' };
var enumerate = letters.Select((c,i) => new { Char = c,Index = i });
foreach (var result in enumerate) {
    Console.WriteLine(
        String.Format("Char = {0},Index = {1}",result.Char,result.Index)
    );
}

输出:

Char = a,Index = 0
Char = b,Index = 1
Char = c,Index = 2

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读