"iterate through"和"iterate over"哪个是正确的?与某个东西迭代有关吗?

83

我思考了一下,这两种说法有语义上的区别吗?还是我们可以自由选择?

编辑 我接受了@roygbivs的回答,因为大多数答案建议选择哪个是个人口味问题,并且它并不真正改变含义。在这种情况下,既然throughover都没有任何信息(在特定语境中),它们可以被省略。


6
我会说“迭代”,但英语不是我的母语。 - zneak
9
不需要使用“通过”或“结束”,这两个副词都是无用的。你只需要说“迭代”即可。“我正在编写代码迭代集合。”否则,这就像重复说明“迭代”的含义一样。 - user113476
介词在一般情况下并非无用的修饰语。请参阅https://english.stackexchange.com/q/23023/373969。 - Christophe
17个回答

0

重要的词是迭代,你用什么填充它并不重要。


0
我想象着“迭代”某个东西,就像我打开文件柜一样。也许只是出于个人偏好,因为在我的印象中,“遍历”是更常见的用法。

0

我随机使用两个词,有时在同一个句子中。省略连接词是不好的语法,也都没有意义。


0

字典上说,“iterate”是一个及物动词,意思是“再说一遍;重复”。

你会“repeat over”刚才说的话吗?还是“repeat through”它?我认为你只会简单地重复它。或者按照你的喜好,直接迭代它。

话虽如此,如果你把“iterate”用作“loop”的某种同义词……也许是逐个迭代数据,那么也许你就是在“iterating through”。这是一个雷区!


0

我认为在大多数实际情况下它们是可以互换的,但在我的注释中,我个人倾向于使用它们有些细微的区别:我解释“迭代”某物类似于你会说“我会查看它”的感觉。也就是说,这不是一个深入的检查:你正在浏览它寻找某些东西。相反,“遍历”则是有目的地逐个进行。

因此,如果我只是在列表中搜索一项内容,那么我会说我正在“迭代”该列表......如果我对每个项目应用某种转换,则会是“遍历”。


0

Either是一个修辞上的同义反复。你应该去掉多余的介词。就像这样

"这个循环迭代了前10个产品"

或者,也许是这样的

"我正在迭代答案,寻找要接受的答案"


+1 表示它是重言,我正要添加它。而不是那么长的“它是一个无用的副词” :D - user9102888

0

通用Lisp的LOOP宏使用for element in list,但是使用for element across array(这是不同的,所以编译器可以生成更有效的代码...是的,很奇怪),表明前置词并不是真正重要的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接