python - 列表操作

11 投票
4 回答
1180 浏览
提问于 2025-04-16 01:31

给定一组没有排序的数字,我想找到一个比N大的最小数字(如果有的话)。

在C#中,我会这样做(省略了一些检查的部分):

var x = list.Where(i => i > N).Min();

在Python中,有什么简短且易读的方法可以做到这一点吗?

4 个回答

3

其他人已经给出了列表推导式的答案。作为一种替代方法,filter 可以用来“过滤”列表中的元素。

min(filter(lambda t: t > N, mylist))
4

在编程中,我们经常会遇到一些问题和挑战。比如,有时候我们写的代码可能不会像我们预期的那样运行。这种情况可能会让人感到困惑,但其实这是学习编程过程中很正常的一部分。

当你在调试代码时,首先要做的就是仔细检查你的代码,看看有没有拼写错误或者语法错误。就像写作文时要检查有没有错别字一样,代码也需要仔细审查。

如果你发现了错误,尝试理解为什么会出现这个错误。很多时候,错误信息会给你一些提示,告诉你问题出在哪里。就像老师在批改作业时会给你反馈,让你知道哪里需要改进。

另外,记得多利用网络上的资源,比如论坛、教程和文档。这些都是很好的学习工具,可以帮助你更好地理解编程的概念和解决问题的方法。

最重要的是,不要气馁!编程是一个不断学习和实践的过程,遇到问题是成长的一部分。只要坚持下去,你一定会越来越熟练的。

min(x for x in mylist if x > N)
19
>>> l = [4, 5, 12, 0, 3, 7]
>>> min(x for x in l if x > 5)
7

当然可以!请提供您想要翻译的StackOverflow内容,我会帮您把它变得更简单易懂。

撰写回答