问题标签 [set-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 回答
53 浏览

python - 从字典中存在的列表值中获取单个“集合”对象

我正在尝试根据字典的值构建一个集合。每个字典值都是一个字符串列表。

我试图用来.update(x)连接一个包含字典中值的集合。我已经通过标准的 for 循环取得了成功:

如果可能的话,我想做的是在一组理解中做到这一点。到目前为止,我有这个:

但是我的 IDE 给了我一个错误,即在分配之前引用了“ingredientSet”。

是否可以.update(x)在理解中使用,或者是否有另一种方法可以将项目连接到理解中的集合中?

0 投票
2 回答
718 浏览

python - 如何使用 asyncio 在集合/列表理解中使用并行化?

我想在 Python 3.7 中创建一个多进程理解。

这是我的代码:

在此代码示例中,我想从列表中删除不存在的 URL。(请注意,我使用的是集合而不是列表,因为我还想删除重复项)。

我的问题是我仍然看到执行是顺序的。HTTP 请求使执行等待。与串行执行相比,执行时间是相同的。

  • 难道我做错了什么?
  • 这些 await/async 关键字应该如何与 python 理解一起使用?
0 投票
0 回答
282 浏览

python - 集合理解与元组理解与列表理解的时间复杂度

我正在学习 python 并正在检查timeit模块。我正在尝试与 , 完全相同的事情listsettuple检查所涉及的间接费用。请看一下(IPython shell):-

>>> timeit {x**9 for x in range(100)}
>>> 49.3 µs ± 229 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

>>> timeit (x**9 for x in range(100))
>>> 830 ns ± 6.39 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

>>> timeit [x**9 for x in range(100)]
>>> 45.8 µs ± 346 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

我认为tuple理解是最快的,因为它没有 and 的任何开销setlist例如。hash中的元素的计算和重复删除set或顺序保留list

但我不明白的是set comprehensionlist comprehension花费几乎相同的时间。我想知道为什么aset comprehension并不比list comprehensiona慢很多set,编译器有计算hash value每个条目的开销并检查重复项,而list comprehension不必这样做。

在此先感谢您的时间。

0 投票
3 回答
78 浏览

python - 如何将列表理解结果作为解包列表

我有一个返回集合的函数(在示例some_function()中:)。我得到了一些元素的数据结构(在示例中arr),需要将元素映射到函数,我想取回一组所有元素。不是一组集合,而是集合中所有元素的集合。我知道some_function()只返回一维集。

我尝试使用map但没有完全让它工作,我让它与列表推导一起工作,但我不太喜欢我的解决方案。

是否可以不创建列表然后解压缩它?或者我可以在不做太多工作的情况下
以某种方式转换我从我的方法中得到的东西吗?map

例子:

0 投票
1 回答
115 浏览

python - 限制输入的集合理解的大小

解析输入时有没有办法限制集合理解的大小。这是一个简单的例子:

的大小values是无限的,但有没有办法限制它?可以使用下面的 for 循环来完成,但有更简单的方法吗?

0 投票
3 回答
70 浏览

python - 无法解释python中打印语句的输出

我在下面的代码中使用集合理解来计算 2 到 n 之间的素数,n=132。

只要变量 n 的值 <= 131,生成的素数就会以正确的升序打印,即 {2,3,5,7,11,...}。

每当 n > 131 时,打印顺序就会倾斜,例如 {2,3,131,5,7,...}。

无论“n”的值如何,变量“noPrimes”的值总是以正确的顺序打印。

我不太明白为什么?

0 投票
1 回答
221 浏览

python - 具有通用理解返回类型的函数取决于输入参数?

假设我有一个函数可以转换字符串集合中的字符,例如 -

如何以通用方式创建此函数,以便它返回与输入类型相同的集合类型(不仅仅是上面函数示例中的列表)。

所以我想要的是具有以下行为的东西:

有没有办法在不使用单独类型检查的情况下通过理解来创建它?

0 投票
1 回答
87 浏览

python - 为什么我的集合理解会抛出 TypeError?

我试图用这个集合理解来改变我的原始代码

但是这段代码抛出

TypeError:不可散列的类型:'set'

原始代码(按预期工作)。另外,应该提到的是self.transition_function[(state, input_value)]已设置,这就是我使用联合的原因。提前致谢

0 投票
2 回答
95 浏览

python - 列表理解中的缓存变量

假设我有一个昂贵的操作expensive(x: int) -> int和以下列表理解:

如果我想避免expensive(i)为每个运行两次i,有没有办法通过列表理解来保存它的价值?

0 投票
2 回答
58 浏览

python - 我将如何使用集合理解来编写这个?

它使用常规循环工作,但我希望它使用集合理解工作。

这就是我所拥有的: