zoukankan      html  css  js  c++  java
  • Python中的常用内置对象之range对象

      range(start, stop[, step])  可生成满足条件的数。具体来说是返回一个从start开始到小于stop的相邻数的差step的等差数列列表。结果中包含start一直到小于stop的整数,其中start和step有默认值0和1,这两个参数可以省略。

      Python的range对象可能是最常用的一个函数了,有了它,可以瞬间帮助工程师生成大量的数据,有了它我们就有了随时随地取用大量满足条件数据的需求。就可以为我们创设各种各样的数据场景。

    Python文档中的定义是:

    range 类型表示不可变的数字序列,通常用于在 for 循环中循环指定的次数。

    使用方法:

    § class range(stop)

    § class range(start, stop[, step])

      range 构造器的参数必须为整数(可以是内置的 int 或任何实现了 __index__ 特殊方法的对象)。如果省略 step 参数,其默认值为 1。如果省略 start 参数,其默认值为 0,如果 step 为零则会引发 ValueError。

    生成内容为:

    § 如果 step 为正值,确定 range r 内容的公式为 r[i] = start + step*i 其中 i >= 0 且 r[i] < stop。

    § 如果 step 为负值,确定 range 内容的公式仍然为 r[i] = start + step*i,但限制条件改为 i >= 0 且 r[i] > stop.

    § 如果 r[0] 不符合值的限制条件,则该 range 对象为空。range 对象确实支持负索引,但是会将其解读为从正索引所确定的序列的末尾开始索引。

    >>> list(range(10))
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> list(range(1, 11))
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> list(range(0, 30, 5))
    [0, 5, 10, 15, 20, 25]
    >>> list(range(0, 10, 3))
    [0, 3, 6, 9]
    >>> list(range(0, -10, -1))
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    >>> list(range(0))
    []
    >>> list(range(1, 0))
    []
    >>> r = range(0, 20, 2)
    >>> r
    range(0, 20, 2)
    >>> 11 in r
    False
    >>> 10 in r
    True
    >>> r.index(10)
    5
    >>> r[5]
    10
    >>> r[:5]
    range(0, 10, 2)
    >>> r[-1]
    18

    实战:如何利用range()获取一个数的所有约数

    参考代码1:

    1 #一般用法
    2 num = 65536
    3 l = list()
    4 for n in range(1,num+1):
    5     if num % n==0:
    6         l.append(n)
    7 print(l)

    参考代码2:

    1 #列表推导式用法
    2 print([n for n in range(1,num+1) if num%n==0])
  • 相关阅读:
    android 监听ListView中的 item 和button
    android 获取当前系统及应用信息(二)
    MotionEvent中getX()和getRawX()的区别
    HITS 算法(Hypertext Induced Topic Selection)
    放之四海皆适用的设计原则(二)
    源自神话的写作要义之英雄之旅
    这就是搜索引擎:核心技术详解
    源自神话的写作要义之英雄
    使用Spinner和setDropDownViewResource
    友好界面menu
  • 原文地址:https://www.cnblogs.com/ndolls/p/12260536.html
Copyright © 2011-2022 走看看