2024-09-19 20:53:37 发布
网友
作为Python的新手,我真的很怀念LINQ方法。 我发现了this和{a2}问题,这对我理解Python枚举器和生成器的工作原理有很大帮助。在
但是sill,我想使用好的老方法,比如Select、SelectMany、First、Last、Group、Distinct等等。在
我知道,生成器和/或for表达式可以处理所有情况,但这会降低代码的可读性。在
试试看py-linq!在
pip install py_linq
最后,我模拟了几乎所有的Linq方法,并制作了一个适当的包装器,这样您就可以链接方法。在
支持
any、all、first、first_or_none、last、last_or_none、to_list、to_dictionary、where、distinct、group_by、order_by、take、skip、select、select_many、foreach、concat、concat_item,除了_for、intersect
用法示例
# Chaining: ['#1', '#2', '#3'] print Linq([-1, 0, 1, 2, 3])\ .where(lambda i: i > 0)\ .select(lambda i: "#" + repr(i)) # Getting single item: 2 print Linq([1, 2, 3, 4]).first(lambda i: i > 1) # Grouping by: {'even': [2], 'odd': [1, 3]} print Linq([1, 2, 3])\ .group_by(lambda i: "even" if i % 2 == 0 else "odd") # I always loved this function: {1: 'This is number 1', 2: 'This is number 2', 3: 'This is number 3'} print Linq([1, 2, 3])\ .to_dictionary(lambda i: i, lambda i: "This is number " + repr(i))
源代码
如您所见,有些情况下python可以轻松处理,而有些情况则不然。把一块.NET放到Python上。在
试试看py-linq!在
安装
使用
^{pr2}$最后,我模拟了几乎所有的Linq方法,并制作了一个适当的包装器,这样您就可以链接方法。在
支持
any、all、first、first_or_none、last、last_or_none、to_list、to_dictionary、where、distinct、group_by、order_by、take、skip、select、select_many、foreach、concat、concat_item,除了_for、intersect
用法示例
源代码
^{pr2}$如您所见,有些情况下python可以轻松处理,而有些情况则不然。把一块.NET放到Python上。在
相关问题 更多 >
编程相关推荐