问题标签 [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.

0 投票
2 回答
662 浏览

java - 返回迭代器而不是集合

与数据访问层方法中的集合相比,返回迭代器是否有任何优势或在哪里更可取?

我在哪里见过,不记得为什么。

PS:可能与实时获取一些数据有关,而未完成

0 投票
2 回答
10384 浏览

python - 'int' 对象不可迭代

7.3 并且想知道为什么在以下示例中字符串“racecar”被视为 int 类型。提前感谢您的帮助

0 投票
5 回答
14124 浏览

python - 从 python 中成功的正则表达式匹配构建字典

我对 Python 很陌生,我正在尝试解析文件。文件中只有某些行包含感兴趣的数据,我想最终得到一个从文件中有效匹配行解析的内容的字典。

下面的代码有效,但它有点难看,我正在尝试学习它应该如何完成,也许是理解,或者使用多行正则表达式。我正在使用 Python 3.2。

你能建议一个更好的实现吗?

0 投票
4 回答
86819 浏览

java - 为什么 Java 不允许在迭代器上使用 foreach(仅在可迭代对象上)?

可能重复:
为什么 Java 的 Iterator 不是 Iterable?

在给定迭代器的情况下使用 for-each 循环的惯用方式?

我们可以使用 for-each 循环来迭代 Iterator 类型的对象吗?

据我所知,foreach 循环是 Java 5 中添加的语法糖。所以

基本上会产生与

但是,如果我一开始没有可迭代对象,而只有一个迭代器(比如说,因为一个类提供了两个不同的迭代器),我就不能使用语法糖 foreach 循环。显然我仍然可以进行简单的旧样式迭代。但是,我实际上想做:

当然我可以做一个假的Iterable

(这实际上是对 Iterable API 的丑陋滥用,因为它只能迭代一次!)

如果它是围绕Iterator而不是可迭代设计的,可以做一些有趣的事情:

有谁知道为什么语言是这样设计的?为了避免歧义,如果一个类同时实现IteratorIterable?为了避免假定“for(O o : iter)”将处理所有元素两次(并且忘记获取新的迭代器)的程序员错误?或者还有其他原因吗?

还是有一些我不知道的语言技巧?

0 投票
8 回答
6299 浏览

java - Java 中的迭代器行为

我对 Java 中的迭代器行为有疑问。

我有这样的电话:

myIterable.iterator().hasNext()

如果此调用返回 true,我可以确定该集合至少有两个元素吗?从 Java API 规范中,我只能发现 true 意味着还有一个元素可以通过next(). 但是如果指针在最开始会发生什么(意味着是否hasNext()可以单独识别第一个元素)

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html

如果迭代有更多元素,则为 true。但是更多元素也可能意味着第一个元素?

[编辑]

我怎么知道迭代器是否有两个元素要遍历?当然,我可以迭代和计数,但在我的情况下,我不能返回或迭代两次或克隆迭代器,这是一个 Hadoop 迭代器。

0 投票
1 回答
1157 浏览

java - 对“List”类型的列表进行排序>`

我有一个类型列表,List<Iterable<Object>>在某些情况下,集合内的对象也是Comparable.

这意味着在某些情况下,它是一个列表,其中包含许多不是 A 类型的对象Comparable,在某些其他情况下,它包含许多 B 类型的对象Comparable。当我有一个 B 类型的对象列表时,我希望能够对它们进行排序。

当列表中的所有对象都是Comparable我需要对它们进行排序时,使用Collections.sort()或类似的东西。Java 不允许我转换整个列表,也不能转换单个元素,因为它们可能没有实现Comparable接口。有解决办法吗?

如果有用,这是我的代码:

0 投票
2 回答
614 浏览

python - 为什么 len() 不支持迭代器?

许多 Python 的内置函数(any(),all()sum())都采用可迭代对象,但为什么不len()呢?

人们总是可以将sum(1 for i in iterable)其用作等价物,但为什么它首先len()不采用可迭代对象?

0 投票
10 回答
115330 浏览

java - 在 Java 中获取 Iterable 的大小

我需要弄清楚IterableJava中元素的数量。我知道我可以这样做:

我也可以这样做,因为我不再需要 Iterable 中的对象:

小规模基准测试没有显示出太大的性能差异,对此问题有任何评论或其他想法吗?

0 投票
3 回答
3185 浏览

python - Python 3:在可迭代对象上应用运算符

sum(iterable)有效地:

Python 是否有一个内置函数可以在不设置初始值的情况下完成此操作?

我遇到的问题sum是它不适用于支持+运算符的其他类型,例如Counter.

0 投票
2 回答
2908 浏览

python - Python - TypeError:需要可迭代参数

当我尝试执行以下代码时,我得到“TypeError:需要可迭代参数” :

错误位于List[i]["List_contents"] 中的 if ":" 行中:

清单内容:

作为输出我得到:

谢谢。