Python的for循环详解(基于Java的for循环对比)

2025-11-09 11:28:18

1、图1是仿Java的for循环,其他的语言大部分也是这个写法

然而在Python这样的写法会出错误

Python的for循环详解(基于Java的for循环对比)

2、图2是JDK5.0之后,出现的高级for循环

Java遍历数组、集合,需要先获得数组、集合的长度,然后再i<leng的遍历

这样比较麻烦,但是高级for很轻松

Python的for循环详解(基于Java的for循环对比)

3、Python的for循环就是类似Java的高级for

需要基于数组类型,for里面的in相当于Java的高级for里面的:

Python的for循环详解(基于Java的for循环对比)

4、进入Python无法i++这样的去计数

那么假如要循环100次呢,类似Java那样Python提供一个函数,range()

比如,range(5)

Python3 生成一个迭代器,Python2生成的是一个数组

这里演示的是Python3,不过不影响使用

Python的for循环详解(基于Java的for循环对比)

Python的for循环详解(基于Java的for循环对比)

5、list转换为数组

可以这样,nums  = list(range(5))

就转换成数组了,不过迭代器与数组,在for循环里面使用是一样的

Python的for循环详解(基于Java的for循环对比)

Python的for循环详解(基于Java的for循环对比)

6、可以写成

for num in range(5):

     print(num)

Python的for循环详解(基于Java的for循环对比)

Python的for循环详解(基于Java的for循环对比)

7、可能到这,就有同学有疑问了,假如我不是i++,是i+2呢,或者i-2呢

其实这些在range()里面都可以控制

比如range(0,10,2),第一个参数是开始(保护本身),第二个参数是结束(不包含本身),第三个参数是计算

那么结果是0,2,4,6,8

比如range(10,0,-3),从10开始,到0结束(不包含0),依次-3

那么结果是10, 7, 4, 1

Python的for循环详解(基于Java的for循环对比)

8、总结

Python的for相当于Java的高级for,如果需要像Java基础for那样12345的计数

可以把在后面用range()生成一个数组,非常的方便

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢