标签: for-loop

元素在"for(... in ...)"循环中排序

Javascript中的"for ... in"循环是否按照声明的顺序循环遍历hashtables/elements?是否有一个浏览器没有按顺序执行?
我想要使​​用的对象将被声明一次,永远不会被修改.

假设我有:

var myObject = { A: "Hello", B: "World" };
Run Code Online (Sandbox Code Playgroud)

我进一步使用它们:

for (var item in myObject) alert(item + " : " + myObject[item]);
Run Code Online (Sandbox Code Playgroud)

在大多数体面的浏览器中,我可以期待'A:'你好''总是先来'B:'世界"吗?

javascript for-loop

196
推荐指数
5
解决办法
9万
查看次数

是否有技术原因使用>(<)代替!=在'for'循环中递增1?

我几乎从未见过for像这样的循环:

for (int i = 0; 5 != i; ++i)
{}
Run Code Online (Sandbox Code Playgroud)

是否有技术原因使用><代替!=for循环中递增1 ?或者这更像是一个惯例?

c c++ for-loop

196
推荐指数
18
解决办法
1万
查看次数

'for'循环内的后递增和预递增产生相同的输出

以下for循环产生相同的结果,即使一个使用后增量和另一个预增量.

这是代码:

for(i=0; i<5; i++) {
    printf("%d", i);
}

for(i=0; i<5; ++i) {
    printf("%d", i);
}
Run Code Online (Sandbox Code Playgroud)

我为两个'for'循环得到了相同的输出.我错过了什么吗?

c c++ for-loop operator-precedence

188
推荐指数
6
解决办法
18万
查看次数

如何检查列表的所有元素是否与条件匹配?

我有一个包含20000个列表的列表.我使用每个列表的第3个元素作为标志.我希望在此列表上执行一些操作,只要至少有一个元素的标志为0,它就像:

my_list = [["a", "b", 0], ["c", "d", 0], ["e", "f", 0], .....]
Run Code Online (Sandbox Code Playgroud)

在开始时,所有标志都是0.我使用while循环来检查至少一个元素的标志是否为0:

def check(list_):
    for item in list_:
        if item[2] == 0:
            return True
    return False
Run Code Online (Sandbox Code Playgroud)

如果check(my_list)返回True,那么我继续处理我的列表:

while check(my_list):
    for item in my_list:
        if condition:
            item[2] = 1
        else:
            do_sth()
Run Code Online (Sandbox Code Playgroud)

实际上,当我迭代它时,我想删除my_list中的一个元素,但是当我迭代它时,我不允许删除项目.

原始的my_list没有标志:

my_list = [["a", "b"], ["c", "d"], ["e", "f"], .....]
Run Code Online (Sandbox Code Playgroud)

因为我迭代它时无法删除元素,所以我发明了这些标志.但是它my_list包含很多项,并且while循环在每个for循环中读取所有项,并且它会消耗大量时间!你有什么建议吗?

python for-loop list while-loop

188
推荐指数
3
解决办法
26万
查看次数

我怎样才能理解Python循环的`else`子句?

许多Python程序员可能没有意识到while循环和for循环的语法包含一个可选else:子句:

for val in iterable:
    do_something(val)
else:
    clean_up()
Run Code Online (Sandbox Code Playgroud)

else子句的主体是某些清理操作的好地方,并且在循环的正常终止时执行:即,退出循环returnbreak跳过该else子句; continue执行后退出.我知道这只是因为我只是看着它(再次),因为我永远记得else子句被执行.

总是?关于循环的"失败",顾名思义?定期终止?即使循环退出return?如果不抬头,我永远无法完全确定.

我责怪我对关键词选择的持续存在的不确定性:我发现else这种语义非常缺乏统一性.我的问题不是"为什么这个关键字用于此目的"(我可能会投票关闭,但只有在阅读了答案和评论后),但我怎么能想到else关键字,以便它的语义有意义,我因此能记得吗?

我确信对此有相当多的讨论,我可以想象选择是为了与try语句的else:条款(我也必须查找)保持一致,并且目标是不添加到列表中Python的保留字.也许选择的理由else将澄清其功能并使其更令人难忘,但我将名称与功能联系起来,而不是在历史解释本身之后.

这个问题的答案,我的问题简要地作为副本被关闭,包含了很多有趣的背景故事.我的问题有一个不同的焦点(如何连接else关键字选择的特定语义),但我觉得应该有一个链接到这个问题的某个地方.

python loops for-loop while-loop

187
推荐指数
11
解决办法
1万
查看次数

如何从ArrayList或String数组中删除所有null元素?

我试着用这样的循环

// ArrayList tourists

for (Tourist t : tourists) {
    if (t != null) {     
        t.setId(idForm); 
    }   
}
Run Code Online (Sandbox Code Playgroud)

但这并不好.谁能建议我一个更好的解决方案?


一些有用的基准可以做出更好的决策:

while循环,For循环和Iterator性能测试

java performance loops for-loop arraylist

179
推荐指数
9
解决办法
18万
查看次数

for循环和for循环之间是否存在性能差异?

如果有的话,以下两个循环之间的性能差异是什么?

for (Object o: objectArrayList) {
    o.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

for (int i=0; i<objectArrayList.size(); i++) {
    objectArrayList.get(i).DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

java performance for-loop

176
推荐指数
6
解决办法
10万
查看次数

是否可以在没有迭代器变量的情况下为范围循环实现Python?

没有这个可以做以下i吗?

for i in range(some_number):
    # do something
Run Code Online (Sandbox Code Playgroud)

如果你只是想做N次,并且不需要迭代器.

python loops for-loop range

176
推荐指数
6
解决办法
9万
查看次数

Excel VBA - 退出循环

for当满足条件时,我想退出循环.forif条件满足时,我怎么能退出循环?我认为在我的if发言结束时会有某种退出,但不知道它会如何起作用.

Dim i As Long
For i = 1 To 50
    Range("B" & i).Select
    If Range("B" & i).Value = "Artikel" Then
        Dim temp As Long
        temp = i
    End If
Next i
Range("A1:Z" & temp - 1).EntireRow.Delete Shift:=xlToLeft
Run Code Online (Sandbox Code Playgroud)

excel vba for-loop

169
推荐指数
2
解决办法
79万
查看次数

什么是pythonic方法来检测python'for'循环中的最后一个元素?

我想知道对for循环中的最后一个元素进行特殊处理的最佳方法(更紧凑和"pythonic"方式).有一段代码只能元素之间调用,在最后一个元素中被抑制.

以下是我目前的工作方式:

for i, data in enumerate(data_list):
    code_that_is_done_for_every_element
    if i != len(data_list) - 1:
        code_that_is_done_between_elements
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法?

注意:我不想使用hacks,例如使用reduce;)

python for-loop idioms fencepost

166
推荐指数
10
解决办法
15万
查看次数