zoukankan      html  css  js  c++  java
  • 零基础学python-12.4 while、for与range联合使用

    1.range,它是一个迭代器,里面有三个参数,分别代表开始数、结束数和步进

    我们下面用list方法把range里面的数字列出来

    >>> list(range(5))
    [0, 1, 2, 3, 4]
    >>> list(range(-5,5))
    [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4]
    >>> list(range(-5,5,2))
    [-5, -3, -1, 1, 3]
    >>> 

    range(x)里面只有一个整数,代表从0开始,到x-1的连续整数列表

    range(x,y)里面有两个参数,代表从x开始,到y-1的连续整数列表

    range(x,y,z)里面有三个参数,代表从x开始,到y-1的以步进是z的整数列表


    2.range经常与for连在一起使用

    >>> for x in range(3):
    	print(x)
    
    	
    0
    1
    2
    >>> 

    上面的代码等价换成while的

    >>> x=0
    >>> while x<3:
    	print(x)
    	x=x+1
    
    	
    0
    1
    2
    >>> 

    3.range也常常间接迭代一个序列

    >>> for x in 'abcd':
    	print(x)
    
    	
    a
    b
    c
    d
    >>> 
    上面的例子其实python已经处理了大部分的迭代细节,如果换成while来实现,就更加清楚的展现迭代的过程

    >>> string='abcd'
    >>> x=0
    >>> while True:
    	lenOfStr=len(string)
    	if a==lenOfStr:
    		break
    	else:print(string[a])
    	a=a+1
    
    	
    a
    b
    c
    d
    >>> 

    我们再把上面的例子换成for+range的实现

    >>> for x in range(len(string)):
    	print(string[x])
    
    	
    a
    b
    c
    d
    >>> 


    相对来说代码简洁了一些,但是最好的方法还是第一种,python已经为我们隐藏了很多实现细节


    下面我们最后来说一下使用步进读取

    >>> a='abcdefg'
    >>> for x in range(0,len(a),2):
    	print(x)
    
    	
    0
    2
    4
    6
    >>> for x in range(0,len(a),2):
    	print(a[x])
    
    	
    a
    c
    e
    g
    >>> 




    这一章节主要简述了while和range各自的应用,还展示了for与range的使用


    这一章节就说到这里,谢谢大家

    ------------------------------------------------------------------

    点击跳转零基础学python-目录





    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Nginx设置支持Https
    windows git bash bash: xxx: command not found
    无法打开arxiv.org的解决办法
    divmod的妙用
    py2 to py3
    keras模型可视化
    python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
    ubuntu “快捷方式”
    tf.keras遇见的坑:Output tensors to a Model must be the output of a TensorFlow `Layer`
    ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896756.html
Copyright © 2011-2022 走看看