lambda相关内容

如何将 Django 模型字段的默认值设置为函数调用/可调用(例如,相对于模型对象创建时间的日期)

已编辑: 如何将 Django 字段的默认值设置为每次创建新模型对象时评估的函数? 我想做以下类似的事情,除了在这段代码中,代码被评估一次并将默认值设置为每个创建的模型对象的相同日期,而不是每次创建模型对象时评估代码: from datetime import datetime, timedelta类 MyModel(models.Model):# 默认为 1 天后my_date = ..
发布时间:2021-12-02 18:56:34 其他开发

Python 中的列表推导式和 lambdas

我想创建一个 lambdas 列表,但结果并不如我所愿. L = [(lambda x: x/y) for y in range(10)] 我希望列表中的每个函数都将其参数除以它的索引,但所有函数只除以最后一个索引. >>>L[1](5)0.5555555555555556>>>L[5](5)0.5555555555555556>>>5/90.5555555555555556 这种列表 ..
发布时间:2021-12-02 17:10:50 Python

Python:在地图对象上调用“列表"两次

我想计算最大为 n 的平方和.假设 n 是 4.然后这段代码生成一个列表,一个范围为 0 到 4 的地图对象: m = map(lambda x: x**2, range(0,4)) 够轻松.现在调用 m 上的列表,然后求和: >>>总和(列表(米))14 意外的行为是,如果我再次运行最后一行,总和为 0: >>>总和(列表(米))0 我怀疑这是因为调用 list(m) 返回一 ..
发布时间:2021-12-02 16:42:32 Python

Rails 3,具有 lambda 条件的 has_one/has_many

这是我的模型: class User :topic_id结尾 我想获取所有topics,对于current_user,关联的bookmark.ATM,我愿意: Topic.all.each do |t|bookmark = t.bookmarks.where(user_id: current_user.id).last放置 bookmark.position 如果书签把 t.name结尾 ..
发布时间:2021-12-02 12:57:39 其他开发

当涉及 std::function 或 lambda 函数时,C++11 不推导类型

当我定义这个函数时, template设置测试(常量集&输入){返回输入;} 我可以在代码的其他地方使用 test(mySet) 调用它,而无需显式定义模板类型.但是,当我使用以下功能时: template设置filter(const set& input,function compare) {设置退;for(auto it = input.begin(); it != input.e ..
发布时间:2021-12-01 15:37:31 C/C++开发

一个正 lambda:'+[]{}' - 这是什么魔法?

在堆栈溢出问题重新定义 C++11 中不允许的 lambda,为什么?,一个给出了无法编译的小程序: int main() {自动测试 = []{};测试 = []{};} 问题得到了回答,一切看起来都很好.然后是 Johannes Schaub 并制作了 一个有趣的观察: 如果你在第一个 lambda 之前放一个 +,它会神奇地开始工作. 所以我很好奇:为什么下面的方法有效? ..
发布时间:2021-12-01 15:32:34 C/C++开发

是否可以找出 lambda 的参数类型和返回类型?

给定一个 lambda,是否可以确定它的参数类型和返回类型?如果是,如何? 基本上,我想要 lambda_traits 可以通过以下方式使用: auto lambda = [](int i) { return long(i*10);};lambda_traits::param_type i;//我应该是intlambda_traits::return_type l;//我应该很长 背后的 ..
发布时间:2021-12-01 15:14:26 C/C++开发

将捕获 lambda 作为函数指针传递

是否可以将 lambda 函数作为函数指针传递?如果是这样,我一定是做错了什么,因为我收到了编译错误. 看下面的例子 using DecisionFn = bool(*)();班级决定{民众:决定(DecisionFn dec):_dec{dec} {}私人的:DecisionFn_dec;};int main(){整数 x = 5;决定greaterThanThree{ [x](){ r ..
发布时间:2021-12-01 15:00:29 C/C++开发

什么是 C++11 中的 lambda 表达式?

什么是 C++11 中的 lambda 表达式?我什么时候用一个?他们解决了哪些问题在引入之前是不可能的? 一些示例和用例会很有用. 解决方案 问题 C++ 包含有用的通用函数,例如 std::for_each 和 std::transform,它们非常方便.不幸的是,它们使用起来也很麻烦,特别是如果 functor 你想要apply 是特定函数所独有的. #include ..
发布时间:2021-12-01 14:40:23 C/C++开发

Distinct() 与 lambda?

是的,所以我有一个可枚举并希望从中获得不同的值. 使用System.Linq,当然还有一个叫做Distinct 的扩展方法.在简单的情况下,它可以不带参数使用,例如: var distinctValues = myStringList.Distinct(); 很好,但是如果我有一个需要为其指定相等性的可枚举对象,则唯一可用的重载是: var distinctValues = myCus ..
发布时间:2021-12-01 10:04:29 C#/.NET

C# Lambda 表达式:我为什么要使用它们?

我已经快速阅读了 Microsoft Lambda 表达式 文档. 不过,这种例子帮助我更好地理解: delegate int del(int i);del myDelegate = x =>x * x;int j = myDelegate(5);//j = 25 不过,我不明白为什么这是一项创新.它只是一个在“方法变量"结束时死亡的方法,对吗?为什么我要使用这个而不是真正的方法? ..
发布时间:2021-12-01 09:57:03 C#/.NET

加入/在何处使用 LINQ 和 Lambda

我在使用 LINQ 和 Lambda 编写的查询时遇到问题.到目前为止,我收到了很多错误,这是我的代码: int id = 1;var query = database.Posts.Join(database.Post_Metas,发布 =>database.Posts.Where(x => x.ID == id),元 =>database.Post_Metas.Where(x => x.Pos ..
发布时间:2021-12-01 09:51:21 C#/.NET

获取实现接口的所有类型

使用反射,我怎样才能用最少的代码和最小化迭代获得所有用 C# 3.0/.NET 3.5 实现接口的类型? 这是我想重写的: foreach(在 this.GetType().Assembly.GetTypes() 中输入 t)if (t 是 IMyInterface);//做东西 解决方案 我的在 c# 3.0 中是这样的 :) var type = typeof(IMyInterf ..
发布时间:2021-12-01 09:29:11 C#/.NET

为什么要使用 Expression<Func<T>>而不是 Func T ?

我理解 lambdas 和 Func 和 Action 委托.但是表情难倒我. 在什么情况下您会使用 Expression> 而不是普通的旧 Func? 解决方案 当您想将 lambda 表达式视为表达式树并查看它们内部而不是执行它们时.例如,LINQ to SQL 获取表达式并将其转换为等效的 SQL 语句并将其提交给服务器(而不是执行 lambda). 从概念上讲,Expr ..
发布时间:2021-12-01 09:27:00 C#/.NET

组合两个表达式(Expression)

我有两个 Expression> 类型的表达式,我想对这些表达式进行 OR、AND 或 NOT 运算并获得相同类型的新表达式> 表达式>expr1;表达式expr2;...//如何做到这一点(下面的代码显然不起作用)表达式andExpression = expr AND expr2 解决方案 嗯,可以用Expre ..
发布时间:2021-12-01 09:24:51 C#/.NET

C# 是否有理由在 foreach 中重用变量?

在 C# 中使用 lambda 表达式或匿名方法时,我们必须警惕 访问修改后的闭包 陷阱.例如: foreach(字符串中的 var s){查询 = query.Where(i => i.Prop == s);//访问修改后的闭包...} 由于修改了闭包,上面的代码会导致查询的所有Where子句都基于s的最终值. 如此处所述,这发生的原因是在上面的 foreach 循环中声明的 s 变量 ..
发布时间:2021-12-01 09:15:21 C#/.NET

从 lambda 表达式中检索属性名称

当通过 lambda 表达式传入时,是否有更好的方法来获取属性名称?这是我目前拥有的. 例如. GetSortingInfo(u => u.UserId); 仅当属性是字符串时,它才通过将其转换为成员表达式来工作.因为并非所有属性都是字符串,所以我必须使用对象,但它会为这些属性返回一元表达式. public static RouteValueDictionary GetInfo(thi ..
发布时间:2021-12-01 09:10:53 C#/.NET

为什么 Python lambdas 很有用?

我正在尝试找出 Python lambdas.lambda 是在现实生活中应该被遗忘的那些“有趣"的语言项目之一吗? 我确信在某些边缘情况下可能需要它,但考虑到它的模糊性,它有可能在未来的版本中被重新定义(我的假设基于它的各种定义)和降低的编码清晰度- 应该避免吗? 这让我想起了 C 类型的溢出(缓冲区溢出)——指向顶部变量并重载以设置其他字段值.感觉有点像技术人员的表演,但维护编码员 ..
发布时间:2021-11-30 23:38:04 Python

lambda 函数闭包捕获什么?

最近我开始玩 Python,我发现了闭包工作方式的一些奇特之处.考虑以下代码: adders=[无,无,无,无]对于 [0,1,2,3] 中的 i:adders[i]=lambda a: i+a打印加法器[1](3) 它构建了一个简单的函数数组,这些函数接受单个输入并返回该输入加上一个数字.函数在 for 循环中构造,其中迭代器 i 从 0 运行到 3.对于这些数字中的每一个,都会创建一个 l ..
发布时间:2021-11-30 23:10:12 Python

initializer_list 返回的生命周期延长

所以我有一个返回类型为 auto 的 lambda,我遇到了支持 initializer_list 的数组在此处被销毁的问题: const auto foo = [](const auto& a, const auto& b, const auto& c) { return {a, b, c};}; 我将像这样使用 lambda: auto bar = foo(1, 2, 3);for(co ..
发布时间:2021-11-30 18:19:48 C/C++开发