zoukankan      html  css  js  c++  java
  • range()函数

    python range() 函数可创建一个整数列表,一般用在 for 循环中。

    range()函数有三个参数,分别是start, stop和step。准确的说range()函数将返回一个从start到stop,步长为step的整数序列的对象

    help(range)

    >>> Return an object that produces a sequence of integers from start (inclusive) to stop (exclusive) by step.

    range()的类型是一个整数序列对象,而不是列表。如

    但是可以用list()函数返回该对象的列表。如

    下面的示例中会综合使用到range()及list()。更清楚的讲解range()函数

    range的使用可以是单参数,双参数和三参数,下面逐一举例

    单参数:

    range(10)

    返回一个从 0 到 10 的整数序列的对象,默认步长 step = 1 

    list(range(10)) 

    [0,1,2,3,4,5,6,7,8,9]

    单参数中所传参数为stop,默认start = 0, step = 1

    双参数:

    返回一个从start到stop的整数序列的对象, 默认步长 step = 1

    range(2, 10)

    返回一个从2到10的整数序列的对象 , 默认步长step = 1

    list(range(2, 10))

    [2,3,4,5,6,7,8,9]

    双参数中第一个参数为start,第二个参数为stop, 默认step = 1

    提问:

      如果 start > stop会产生一个什么样的整数序列对象?

      list(range(10, 2)) = ?

      它的结果会是 [10,9,8,7,6,5,4,3]吗?

    三参数:

    返回一个从start到stop的整数序列的对象, step 为第三个参数的值

    range(2, 10, 2)

    list(range(2, 10, 2))

    [2,4,6,8]

    三参数中加入了步长step,我们因此可以自己设定每个元素的间距,所以range(2, 10, 2)可以很好的解释为 

    从 整数 2 开始 ,每2个整数取一位放到整数列表中,到整数10结束(不包括整数10)

    好了,现在可以回答双参数中留的问题了,

    range(10, 2),由于step默认为 1 ,故可以解释为 

    从整数 10 开始, 每 1 个整数取一位放到整数列表中, 到整数2结束(不包括整数2)

    很显然,从10开始,步长是 1 ,故 10 +1 = 11 ,下一个数为 11 ,很显然这样加下去是到不了 整数 2的,所以直接返回一个空的整数列表对象

    list(range(10, 2))

    []

    那如果想要 得到 从 10 - 2的对象呢?很简单,步长设 -1 就可以

    list(range(10,-2,-1))

    [10,9,8,7,6,5,4,3]

  • 相关阅读:
    Nginx如何配置基础缓存
    Websocket消息过长自动断开连接?
    Docker错误删除Postgresql容器如何恢复?
    Docker安装带中文全文搜索插件zhparser的Postgresql数据库
    Postgresql数据库安装中文全文搜索插件zhparser的问题
    Presto通过RESTful接口新增Connector
    在windows的IDEA运行Presto
    Druid.io通过NiFi摄取流数据
    Druid.io SQL乱码问题
    Druid.io启用SQL支持
  • 原文地址:https://www.cnblogs.com/GuoYuying/p/11518771.html
Copyright © 2011-2022 走看看