问题标签 [list-comprehension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
847 浏览

syntax - How do I translate this Haskell to F#?

I'm trying to learn F# by translating some Haskell code I wrote a very long time ago, but I'm stuck!

I've managed this:

although i dont like having to have the . after the 100.

What is the name of the operation I am performing in freqs, and how do I translate it to F#?

Edit: count and lowers are Char -> String -> Int and String -> Int respectively, and I have translated these already.

0 投票
6 回答
227501 浏览

python - Python在列表中选择最长字符串的最有效方法?

我有一个可变长度的列表,并试图找到一种方法来测试当前正在评估的列表项是否是列表中包含的最长字符串。我正在使用 Python 2.6.1

例如:

当然,我忽略了一个简短而优雅的简单列表理解?

0 投票
7 回答
51716 浏览

java - Java 中类似 Python 的列表推导

由于 Java 不允许将方法作为参数传递,您使用什么技巧在 Java 中实现类似于列表推导的 Python ?

我有一个字符串列表(ArrayList)。我需要使用一个函数来转换每个元素,以便获得另一个列表。我有几个函数将一个字符串作为输入并返回另一个字符串作为输出。如何制作一个可以将列表和函数作为参数提供的通用方法,以便我可以在处理每个元素时返回一个列表。从字面上看是不可能的,但是我应该使用什么技巧呢?

另一种选择是为每个较小的字符串处理函数编写一个新函数,该函数简单地循环整个列表,这有点不太酷。

0 投票
7 回答
1986 浏览

python - 使用列表推导和异常?

好的,假设我有一个列表,我想检查该列表是否存在于另一个列表中。我可以这样做:

哪个工作正常,但是可以说我想在缺少所需值时引发异常,并且缺少它的值。如何使用列表理解来做到这一点?

我或多或少好奇,所有迹象似乎都指向不。

编辑啊,我的意思是:

看着那些我看不到如何找到发生错误的值

0 投票
4 回答
6159 浏览

c# - C# 列表理解 = 纯语法糖?

考虑以下 C# 代码:

这种纯粹的语法糖可以让我写一个forforeach循环作为单行吗?是否有任何编译器优化使上面的列表理解比循环构造更有效?这在引擎盖下是如何工作的?

0 投票
5 回答
1731 浏览

python - 在 Python 列表推导中缓存值

我正在使用以下列表理解:

有没有办法“缓存”obj.get("file")在 if 语句中检查时的值,以便在生成返回列表时不必get再次调用 obj ?

0 投票
4 回答
388 浏览

python - 这怎么能写在一行上?

我以前看过一些 Python 列表推导,但这可以在一行 Python 中完成吗?

0 投票
4 回答
1330 浏览

python - 如何使用列表理解上链表?

我一直在想一种方法来遍历层次结构,如链表,使用列表表达式,但没有想出任何似乎可行的方法。

基本上,我想转换这段代码:

变成像这样的单线:

不过,我不确定如何以通用方式(如果可能的话)在???零件中进行遍历。我有几个具有相似类型属性的结构,并且不想为每个结构编写一个屈服函数。.parent

编辑:

我不能使用__iter__对象本身的方法,因为它已经用于迭代对象本身包含的值。大多数其他答案,除了 liori 的,硬编码属性名称,这是我想要避免的。

这是我根据 liori 的回答做出的改编:

0 投票
6 回答
1250 浏览

python - 有没有更好的方法将列表转换为 Python 中的字典,其中包含键但没有值?

我确信会有一个行将列表转换为字典,其中列表中的项目是键,而字典没有值。

我能找到的唯一方法遭到反对。

“在忽略结果时使用列表推导会产生误导且效率低下。for循环更好”

它有效,但有没有更好的方法来做到这一点?

0 投票
4 回答
3781 浏览

python - Python 的 heapify() 不能很好地处理列表理解和切片吗?

我在一个我有点懒惰地实现的程序中发现了一个有趣的错误,我想知道我是否正确理解了它。简短的版本是Python 的heapq实现实际上并不对列表进行排序,它只是以以堆为中心的方式对列表进行摸索。具体来说,我期望heapify()生成一个有序列表,以有序的方式促进列表理解。

使用优先提示示例,如 Python 文档中所示:

结果是

我们注意到,这不是列表的原始排序,但显然是一些以堆为中心的排序,如此处所述。我懒洋洋地期待这个完全订购。

作为测试,通过 heapify() 运行列表不会导致任何变化(因为列表已经按堆排序):

而使用函数遍历列表会heappop()导致按预期排序:

因此,它似乎heapq不会对列表进行排序(至少在这个词的人类意义上),而是heappush()andheappop()函数能够理解堆排序的列表。

结果:堆化列表上的任何切片和列表理解操作都将产生无序结果。

这是真的吗?这总是真的吗?

(顺便说一句:WinXP 系统上的 Python 3.0.1)