问题标签 [iterator]

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 投票
4 回答
1817 浏览

c++ - 丢弃需要输出迭代器的函数的输出

假设 C++ 中有一个模板函数,它做了一些有用的工作,但也通过输出迭代器输出一系列值。现在假设该值序列有时很有趣,但有时没有用。STL 中是否有现成的迭代器类可以实例化并传递给函数,并且会忽略函数试图分配给输出迭代器的任何值?换句话说,将所有数据发送到 /dev/null?

0 投票
3 回答
3560 浏览

python-3.x - Python 3.0 - dict 方法返回视图 - 为什么?

dict 方法 dict.keys()、dict.items() 和 dict.values() 返回“视图”而不是列表。 http://docs.python.org/dev/3.0/whatsnew//3.0.html

首先,视图与迭代器有何不同?其次,这种变化有什么好处?仅仅是出于性能原因吗?

这对我来说似乎并不直观,即,我要一份东西清单(把你所有的钥匙给我),然后我又得到了别的东西。这会让人们感到困惑吗?

0 投票
3 回答
4571 浏览

c++ - 停留在 Trie 的迭代器实现上

我必须实现一个自制的 Trie 并且我被困在 Iterator 部分。我似乎无法弄清楚 trie 的增量方法。

我希望有人能帮我把事情弄清楚。

这是迭代器的代码:

这是我的特里:

0 投票
3 回答
1599 浏览

c++ - STL 中有 dereference_iterator 吗?

我想知道 STL 中是否有一个迭代器在返回之前取消引用指向的对象。这在操作容器聚合指针时可能非常有用。这是我希望能够做的一个例子:

0 投票
2 回答
486 浏览

php - 我应该在 PHP 中使用哪个 Iterator 实现,为什么?

我正在尝试重构一个大型的旧项目,我注意到的一件事是一系列不同的迭代器实现:

甚至是StandardPHPLibrary (SPL)迭代器,它允许

拥有这么多不同的迭代器(使用不同的方法循环集合)似乎是一种强烈的代码气味,我倾向于将所有内容重构为 SPL。Iterator 的这些实现是否有令人信服的优势,还是纯粹是个人喜好问题?

0 投票
7 回答
41428 浏览

java - 在Java中获取一系列整数的迭代器的最短方法

在Java中的一系列整数上获取迭代器的最短方法是什么?换句话说,实现以下内容:

就像是

0 投票
3 回答
5460 浏览

c++ - 帮助 C++ 列表擦除功能

我正在尝试进行简单的擦除并不断出错。

这是我擦除的代码片段:

我不断收到编译器消息:

我很困惑,因为我相信我给了它正确的迭代器。

我的是 SpaceObject 的子类(第二代子类)

这有什么关系吗?我将如何解决它?

0 投票
7 回答
1766 浏览

c++ - 查找 STL 迭代器的所有者

有什么方法可以找到迭代器指向的容器?具体来说,我希望能够找到std::vector特定对象所指向的对象,std::vector::iterator以便我可以检查范围,而不必实际传递对该向量的引用。

如果(我怀疑)答案是否定的,为什么不呢?

编辑:感谢您提供一些快速且(大部分)准确的答案。埃文·特兰 (Evan Teran ) 做到了。我根本没有考虑优化,但现在很明显。

有几个人问我想这样做是为了什么。这没什么特别重要的。我有一个用向量和指向向量的迭代器初始化的对象。如果我可以只使用迭代器来初始化对象,那将是既可爱又方便的,因为这样我就可以将vector::iterators 直接转换为该对象(这听起来很奇怪,但在特定情况下确实有意义)。但这根本不是关键。

0 投票
7 回答
10254 浏览

python - 如何在 Python 中迭代重复每个元素的列表

我正在使用 Python 对列表进行无限迭代,多次重复列表中的每个元素。例如给定列表:

我想输出每个元素两次,然后重复循环:

我知道从哪里开始:

但是我将如何重复每个元素?

编辑

为了澄清这一点,应该无限迭代。此外,我使用重复元素两次作为最短示例 - 我真的很想将每个元素重复 n 次

更新

您的解决方案是否会引导我找到我正在寻找的东西:

感谢您的快速回答!

0 投票
10 回答
2006 浏览

c# - 产生关键字附加值?

仍然试图找到在实际情况下我会在哪里使用“yield”关键字。

我看到这个主题的主题

C# 中使用的 yield 关键字是什么?

但在接受的答案中,他们以此为例,有人在 Integers() 周围进行迭代

但为什么不直接使用

而是在这里。似乎更直接..