标签: lambda

为什么不打印lambda?

为什么这不起作用?

lambda: print "x"
Run Code Online (Sandbox Code Playgroud)

这不是一个单一的陈述,还是别的什么?关于lambda中允许的内容,文档似乎有点稀疏......

python printing lambda python-2.x

154
推荐指数
6
解决办法
7万
查看次数

使用'key'和lambda表达式的python max函数

我来自OOP背景并试图学习python.我使用的max函数使用lambda表达式返回列表中Player具有最大值的类型的实例.totalScoreplayers

def winner():
    w = max(players, key=lambda p: p.totalScore)
Run Code Online (Sandbox Code Playgroud)

该函数正确返回Player具有最大值的类型的实例totalScore.我对以下三件事感到困惑:

  1. 该max功能如何运作?它正在采取什么样的论据?我查看了文档,但没有理解.
  2. keymax函数中关键字的用途是什么?我知道它也用在sort功能的上下文中
  3. lambda表达式的含义?怎么看?他们是如何工作的?

这些都是非常无趣的概念性问题,但会帮助我理解语言.如果您可以举例解释,这将有所帮助.谢谢

python lambda function

154
推荐指数
6
解决办法
20万
查看次数

如何使用Java8 lambda以相反的顺序对流进行排序?

我正在使用java lambda对列表进行排序.

我怎样才能以相反的方式对它进行排序?

我看到这篇文章,但我想使用java 8 lambda.

这是我的代码(我使用*-1)作为黑客

Arrays.asList(files).stream()
    .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName()))
    .sorted(new Comparator<File>() {
        public int compare(File o1, File o2) {
            int answer;
            if (o1.lastModified() == o2.lastModified()) {
                answer = 0;
            } else if (o1.lastModified() > o2.lastModified()) {
                answer = 1;
            } else {
                answer = -1;
            }
            return -1 * answer;
        }
    })
    .skip(numOfNewestToLeave)
    .forEach(item -> item.delete());
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

154
推荐指数
6
解决办法
24万
查看次数

如何序列化lambda?

我怎样才能优雅地序列化lambda?

例如,下面的代码抛出一个NotSerializableException.如何在不创建SerializableRunnable"虚拟"界面的情况下修复它?

public static void main(String[] args) throws Exception {
    File file = Files.createTempFile("lambda", "ser").toFile();
    try (ObjectOutput oo = new ObjectOutputStream(new FileOutputStream(file))) {
        Runnable r = () -> System.out.println("Can I be serialized?");
        oo.writeObject(r);
    }

    try (ObjectInput oi = new ObjectInputStream(new FileInputStream(file))) {
        Runnable  r = (Runnable) oi.readObject();
        r.run();
    }
}
Run Code Online (Sandbox Code Playgroud)

java lambda serialization java-8

152
推荐指数
4
解决办法
4万
查看次数

Lambda捕获为const引用?

是否可以通过lambda表达式中的const引用进行捕获?

我希望下面标记的作业失败,例如:

#include <cstdlib>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
    string strings[] = 
    {
        "hello",
        "world"
    };
    static const size_t num_strings = sizeof(strings)/sizeof(strings[0]);

    string best_string = "foo";

    for_each( &strings[0], &strings[num_strings], [&best_string](const string& s)
      {
        best_string = s; // this should fail
      }
    );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

更新:由于这是一个老问题,如果C++ 14中有设施来帮助解决这个问题,那么更新它可能会更好.C++ 14中的扩展是否允许我们通过const引用捕获非const对象?(2015年8月)

c++ lambda c++11 c++14

151
推荐指数
6
解决办法
5万
查看次数

如果为空查询,则返回最大值

我有这个问题:

int maxShoeSize = Workers
    .Where(x => x.CompanyId == 8)
    .Max(x => x.ShoeSize);
Run Code Online (Sandbox Code Playgroud)

maxShoeSize如果公司8根本没有工人,那将会是什么?

更新:
如何更改查询以获得0而不是异常?

.net c# linq lambda entity-framework

151
推荐指数
6
解决办法
5万
查看次数

如何在Python中使用lambda进行排序

在Python中,我试图用lambda按日期排序.我无法理解我的错误信息.消息是:

<lambda>() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)

我的路线是

a = sorted(a, lambda x: x.modified, reverse=True)
Run Code Online (Sandbox Code Playgroud)

python lambda

149
推荐指数
5
解决办法
18万
查看次数

仅当在Java8中使用lambda时不为null时才过滤值

我有一个对象列表说car.我想基于使用Java 8的一些参数来过滤此列表.但是如果参数是null,它会抛出NullPointerException.如何过滤掉空值?

目前的代码如下

requiredCars = cars.stream().filter(c -> c.getName().startsWith("M"));
Run Code Online (Sandbox Code Playgroud)

NullPointerException如果getName()返回则抛出null.

java null lambda nullpointerexception java-8

146
推荐指数
5
解决办法
18万
查看次数

Java 8中的Functional Interface有什么用?

我在Java 8中遇到了一个名为Functional Interface的新术语.

在使用lambda表达式时,我只能找到一个使用此接口的方法.

Java 8提供了一些内置的功能接口,如果我们想要定义任何功能接口,那么我们就可以使用@FunctionalInterface注释.它允许我们在接口中只声明一个方法.

例如:

@FunctionalInterface
interface MathOperation {
    int operation(int a, int b);
}
Run Code Online (Sandbox Code Playgroud)

除了使用lambda表达式之外,它在Java 8中有多大用处?

这里的问题与我提出的问题不同.在使用Lambda表达式时,它询问为什么我们需要功能接口.我的问题是:为什么使用功能接口而不是直接使用lambda表达式?

java lambda interface java-8

144
推荐指数
7
解决办法
9万
查看次数

LINQ表达式中的String.IsNullOrWhiteSpace

我有以下代码:

return this.ObjectContext.BranchCostDetails.Where(
    b => b.TarrifId == tariffId && b.Diameter == diameter
        || (b.TarrifId==tariffId && !string.IsNullOrWhiteSpace(b.Diameter))
        || (!b.TarrifId.HasValue) && b.Diameter==diameter);
Run Code Online (Sandbox Code Playgroud)

当我尝试运行代码时出现此错误:

LINQ to Entities无法识别方法'Boolean IsNullOrWhiteSpace(System.String)'方法,并且此方法无法转换为商店表达式."

如何解决这个问题并编写代码比这更好?

c# linq null lambda linq-to-entities

142
推荐指数
3
解决办法
3万
查看次数