gpt4 book ai didi

java - python和Java或C中循环迭代之间的区别

转载 作者:行者123 更新时间:2023-11-30 08:24:46 24 4
gpt4 key购买 nike

我正在学习 python 并看到此循环条件声明中的差异我只是有一个问题,即 python 中的 for 循环与相同算法有何不同 for loop在 C 或 Java 中,我知道语法上的差异,但机器执行是否存在差异,哪个更快例如

for i in range(0,10):
if i in range(3,7):
print i

在Java中

for(int i=0,i<10;i++){
if i>=3 && i<7
system.out.println(i);

这里我只想知道 'i' 上实际迭代的区别不是打印语句或代码的输出。
同时评论if用于检查是否 'i' 的条件介于 3 和 7 之间。在 python 中,如果我使用了类似的语句 if i>=3 and i <7:它会有什么不同。

我用的是python2.7

最佳答案

如果您使用的是 python 2.x,则 range 调用会在内存中创建一个完整的 list,其中包含该范围内的所有数字。这就像用 Java 中的数字填充 LinkedList 并对其进行迭代。

如果你想避开列表,有xrange。它返回一个不创建临时列表的 iterable 对象,等同于您发布的 Java 代码。

请注意,in 条件不等同于手动边界检查。 Python 将遍历 O(n) 的范围以查找项目。

在 python 3.x 中,xrange 不再存在,range 返回一个 iterable

关于java - python和Java或C中循环迭代之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22706909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com