问题标签 [iterable]
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 - 检查iterable的所有值是否都为零
是否有一种简洁/内置的好方法来查看可迭代对象中的所有值是否都为零?现在我正在使用all()一些列表理解,但是(对我来说)似乎应该有一种更具表现力的方法。我认为这在某种程度上等同memcmp()于 C中的 a。
我希望有一个内置函数可以执行以下操作:
该功能是否存在于python中而我只是盲目的,还是应该坚持使用我的原始版本?
更新
我并不是说这allcmp()是解决方案。这是我认为可能更有意义的一个例子。这不是我建议新的 Python 内置插件的地方。
在我看来,all()是不是很有意义。它没有表达“所有”正在检查的内容。您可以假设这all()需要一个可迭代对象,但它并没有表达函数正在寻找什么(bool测试所有函数的可迭代对象 s True)。我要的是一些像我allcmp()这样的函数,它需要两个参数:一个可迭代的和一个比较值。我在问是否有一个内置函数可以做类似于我的 make up allcmp()。
allcmp()由于我的 C 背景,memcmp()我打电话给我的,我的组合函数的名称在这里无关紧要。
scala - 在 Scala 中,从初始对象和生成下一个对象的函数创建 O(1) 内存 Iterable
我想要一种方便的方法来生成一个Iterable,给定一个初始对象和一个从当前对象生成下一个对象的函数,它消耗 O(1) 内存(即,它不缓存旧结果;如果你想迭代一个第二次,必须再次应用该功能)。
似乎没有对此的库支持。在 Scala 2.8 中,该方法scala.collection.Iterable.iterate具有签名
因此它要求您提前指定您感兴趣的迭代函数应用程序的数量,而我对文档的理解是Iterable.iterate实际上会立即计算所有这些值。另一方面,该方法scala.collection.Iterator.iterate具有签名
看起来不错,但我们只得到一个Iterator不能提供map,filter和朋友的所有便利的。
有没有方便的库方法来生产我想要的东西?
如果不,
有人可以建议这样做的“口语”Scala代码吗?
总而言之,给定一个初始 objecta: A和一个 function f: A => A,我想要一个TraversableLike(例如,可能是一个Iterable),它生成a, f(a), f(f(a)), ...并使用 O(1) 内存, withmap等filter函数,它们也返回 O(1) in记忆。
java - Java 中的 LinkedList 实现,具有泛型并增强了
我需要您查看我对单链表 (SLL) 的实现。实现应该使用泛型并且能够使用增强的for。
问题是,当我for (Number n : list)成为or时,我收到错误:“类型不匹配:无法从元素类型对象转换为数字”。listMyLinkedList<Integer>MyLinkedList<Double>
这就是我所拥有的。我不太确定的部分是泛型和迭代器。
提前致谢。
java - Java:为什么迭代器不可复制
我认为这Iterator.copy()将是一个非常方便的功能。您可以以更好的方式实现迭代器过滤器。
例如,Googles Java Collection 中使用filter(和类似的)函数的唯一原因UnmodifiableIterator(这只是一个Iteratorwithout remove)是因为您无法实现这样的过滤器,Iterator否则无法在某些时候复制它。(真的,当前界面无法做到这一点;请自己尝试。)
另一个优点是您可以在 for-each-loop 中使用迭代器:因为可复制的迭代器也将自动成为可迭代的。另请参阅此问题。现在,不允许这样做的主要设计原因是因为Iterator它实现了迭代器Iterable并且Iterator<T> iterator() { return this; }会使迭代器无效。通过拥有一个copy函数,它很简单,Iterator<T> iterator() { return copy(); }并且不会使原始迭代器无效。因此,没有理由再不允许这样做了。
有什么理由吗?只是为了降低实现它的复杂性?
java - Java:为什么 Collection.addAll 不能接受 Iterables?
我想知道为什么该Collection.addAll()方法只接受其他Collections而不接受Iterables。这是为什么?
有没有类似的方法可以为Iterables 做到这一点?
python - Python过滤器/最大组合 - 检查空迭代器
(使用 Python 3.1)
我知道对于测试迭代器是否为空的一般问题,这个问题已经被问过很多次了;显然,没有很好的解决方案(我猜是有原因的——迭代器在被要求返回下一个值之前并不知道它是否为空)。
然而,我有一个具体的例子,并希望我可以用它制作干净和 Pythonic 的代码:
有没有更好的方法来做到这一点?
编辑:对不起愚蠢的符号。函数的参数确实是任意可迭代的,而不是列表。
java - “可迭代不能强制转换为列表" - `List` 不是 `Iterable` 的一种吗?
我调用了一个getElements返回的方法Iterable<Element>。
我这样做了:
这会产生错误:
我以为 aList是一种Iterable?
python - 如何将可迭代的内容添加到集合中?
将可迭代的所有项目添加到现有的“一个 [...] 明显的方法”set是什么?
java - Java 无类型泛型类,删除它们的函数泛型类型
好的关于 javas 泛型、可迭代和 for-each 循环的问题。问题是,如果我声明我的“测试”类没有类型,我会丢失所有函数的所有通用信息,并且 for-each 根本不喜欢这样。
例子
当 'Test t' 没有类型时,'iterator()' 函数返回 'iterator' 而不是 'iterator < Integer >'。
我不确定它背后的原因,我知道一个解决方法就是在 'Test < 上使用通配符?> t = 新测试()'。然而,这是一个不太理想的解决方案。
他们有什么方法可以只编辑类声明及其函数并让 for each 循环工作无类型?
java - java:分页结果的设计模式
所以有Iterable和Iterator和List。如果您尝试为其他 Java 代码提供接口,以封装远程服务提供的功能,该功能在“页面”中返回结果,您会使用什么?
例如,考虑一个数据库或网页(例如flickr API)。在第一次检索结果后,您知道结果的总数和前 N 个结果,但在检索其余结果之前,您不知道剩余的结果。