问题标签 [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.
python - 从字典中存在的列表值中获取单个“集合”对象
我正在尝试根据字典的值构建一个集合。每个字典值都是一个字符串列表。
我试图用来.update(x)
连接一个包含字典中值的集合。我已经通过标准的 for 循环取得了成功:
如果可能的话,我想做的是在一组理解中做到这一点。到目前为止,我有这个:
但是我的 IDE 给了我一个错误,即在分配之前引用了“ingredientSet”。
是否可以.update(x)
在理解中使用,或者是否有另一种方法可以将项目连接到理解中的集合中?
python - 如何使用 asyncio 在集合/列表理解中使用并行化?
我想在 Python 3.7 中创建一个多进程理解。
这是我的代码:
在此代码示例中,我想从列表中删除不存在的 URL。(请注意,我使用的是集合而不是列表,因为我还想删除重复项)。
我的问题是我仍然看到执行是顺序的。HTTP 请求使执行等待。与串行执行相比,执行时间是相同的。
- 难道我做错了什么?
- 这些 await/async 关键字应该如何与 python 理解一起使用?
python - 集合理解与元组理解与列表理解的时间复杂度
我正在学习 python 并正在检查timeit
模块。我正在尝试与 , 完全相同的事情list
,set
并tuple
检查所涉及的间接费用。请看一下(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 的任何开销set
,list
例如。hash
中的元素的计算和重复删除set
或顺序保留list
。
但我不明白的是set comprehension
和list comprehension
花费几乎相同的时间。我想知道为什么aset comprehension
并不比list comprehension
a慢很多set
,编译器有计算hash value
每个条目的开销并检查重复项,而list comprehension
不必这样做。
在此先感谢您的时间。
python - 如何将列表理解结果作为解包列表
我有一个返回集合的函数(在示例some_function()
中:)。我得到了一些元素的数据结构(在示例中arr
),需要将元素映射到函数,我想取回一组所有元素。不是一组集合,而是集合中所有元素的集合。我知道some_function()
只返回一维集。
我尝试使用map
但没有完全让它工作,我让它与列表推导一起工作,但我不太喜欢我的解决方案。
是否可以不创建列表然后解压缩它?或者我可以在不做太多工作的情况下
以某种方式转换我从我的方法中得到的东西吗?map
例子:
python - 限制输入的集合理解的大小
解析输入时有没有办法限制集合理解的大小。这是一个简单的例子:
的大小values
是无限的,但有没有办法限制它?可以使用下面的 for 循环来完成,但有更简单的方法吗?
python - 无法解释python中打印语句的输出
我在下面的代码中使用集合理解来计算 2 到 n 之间的素数,n=132。
只要变量 n 的值 <= 131,生成的素数就会以正确的升序打印,即 {2,3,5,7,11,...}。
每当 n > 131 时,打印顺序就会倾斜,例如 {2,3,131,5,7,...}。
无论“n”的值如何,变量“noPrimes”的值总是以正确的顺序打印。
我不太明白为什么?
python - 具有通用理解返回类型的函数取决于输入参数?
假设我有一个函数可以转换字符串集合中的字符,例如 -
如何以通用方式创建此函数,以便它返回与输入类型相同的集合类型(不仅仅是上面函数示例中的列表)。
所以我想要的是具有以下行为的东西:
有没有办法在不使用单独类型检查的情况下通过理解来创建它?
python - 为什么我的集合理解会抛出 TypeError?
我试图用这个集合理解来改变我的原始代码
但是这段代码抛出
TypeError:不可散列的类型:'set'
原始代码(按预期工作)。另外,应该提到的是self.transition_function[(state, input_value)]
已设置,这就是我使用联合的原因。提前致谢
python - 列表理解中的缓存变量
假设我有一个昂贵的操作expensive(x: int) -> int
和以下列表理解:
如果我想避免expensive(i)
为每个运行两次i
,有没有办法通过列表理解来保存它的价值?
python - 我将如何使用集合理解来编写这个?
它使用常规循环工作,但我希望它使用集合理解工作。
这就是我所拥有的: