Questions tagged «iteration»

迭代是循环中的连续重复,例如for,foreach或while。带有此标签的问题通常与如何最好地处理数据集合有关。



7
PHP“ foreach”实际上如何工作?
首先,我要说一下我知道它是什么foreach,做什么以及如何使用它。这个问题关系到它在引擎盖下的工作方式,我不希望出现“这就是如何用foreach” 循环数组”的答案。 很长时间以来,我一直认为该方法foreach可用于数组本身。然后,我发现许多关于它可以与数组副本一起使用的事实的引用,从那时起,我一直以为这是故事的结尾。但是我最近对此事进行了讨论,经过一番实验后发现这实际上并非100%正确。 让我表明我的意思。对于以下测试用例,我们将使用以下数组: $array = array(1, 2, 3, 4, 5); 测试用例1: foreach ($array as $item) { echo "$item\n"; $array[] = $item; } print_r($array); /* Output in loop: 1 2 3 4 5 $array after loop: 1 2 3 4 5 1 2 3 4 5 */ 这清楚地表明,我们不是直接使用源数组-否则循环将永远持续下去,因为我们在循环过程中不断将项目推入数组。但是只是为了确保是这种情况: 测试用例2: foreach …


24
遍历Collection,避免在循环中删除对象时避免ConcurrentModificationException
我们都知道由于以下原因您无法执行以下操作ConcurrentModificationException: for (Object i : l) { if (condition(i)) { l.remove(i); } } 但这显然有时有效,但并非总是如此。这是一些特定的代码: public static void main(String[] args) { Collection<Integer> l = new ArrayList<>(); for (int i = 0; i < 10; ++i) { l.add(4); l.add(5); l.add(6); } for (int i : l) { if (i == 5) { …

26
如何在迭代时从列表中删除项目?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我正在遍历Python中的元组列表,并尝试在满足特定条件的情况下将其删除。 for tup in somelist: if determine(tup): code_to_remove_tup 我应该用什么代替code_to_remove_tup?我不知道如何以这种方式删除项目。
934 python  iteration 

11
遍历Java中的列表的方法
对于Java语言有些陌生,我试图使自己熟悉所有可能遍历列表(或其他集合)的方式(或至少是非病理性方式)以及每种方式的优缺点。 给定一个List<E> list对象,我知道以下遍历所有元素的方式: 基本的for 循环(当然,也有等效的while/ do while循环) // Not recommended (see below)! for (int i = 0; i < list.size(); i++) { E element = list.get(i); // 1 - can call methods of element // 2 - can use 'i' to make index-based calls to methods of list // ... …




6
如何跳到jQuery.each()util中的下一个迭代?
我正在尝试遍历一系列元素。jQuery的文档说: jquery.Each()文档 返回非false与for循环中的continue语句相同,它将立即跳至下一个迭代。 我曾尝试称“返回非假”;和“非假”;(无收益),都不会跳到下一个迭代。相反,它们打破了循环。我想念什么?

15
如何遍历JavaScript对象?
我在JavaScript中有一个对象: { abc: '...', bca: '...', zzz: '...', xxx: '...', ccc: '...', // ... } 我想使用一个for循环来获取其属性。而且我想对其进行迭代(不是一次所有对象属性)。 通过一个简单的数组,我可以使用标准for循环来做到这一点: for (i = 0; i < 100; i++) { ... } // first part for (i = 100; i < 300; i++) { ... } // second for (i = 300; i < …

21
在Python中遍历一系列日期
我有以下代码可以做到这一点,但是我该如何做得更好呢?现在,我认为它比嵌套循环更好,但是当列表理解器中包含生成器时,它开始变得Perl-linerish。 day_count = (end_date - start_date).days + 1 for single_date in [d for d in (start_date + timedelta(n) for n in range(day_count)) if d <= end_date]: print strftime("%Y-%m-%d", single_date.timetuple()) 笔记 我实际上并没有用它来打印。这只是出于演示目的。 在start_date和end_date变量是datetime.date因为我不需要时间戳对象。(它们将用于生成报告)。 样本输出 开始日期为2009-05-30,结束日期为2009-06-09: 2009-05-30 2009-05-31 2009-06-01 2009-06-02 2009-06-03 2009-06-04 2009-06-05 2009-06-06 2009-06-07 2009-06-08 2009-06-09

19
从递归到迭代的方法
在多年的编程中,我已经使用了很多递归来解决简单的问题,但是我完全意识到有时由于内存/速度问题而需要迭代。 因此,在很久以前的某个时候,我去尝试寻找是否存在将通用递归方法转换为迭代的任何“模式”或教科书方法,却一无所获。或至少没有什么我能记住的会有所帮助。 有一般规则吗? 有没有“模式”?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.