您的位置:

Python range范围详解

一、range函数介绍

Python中的range函数是一个很常用的函数,它可以生成一个数字序列。

range(stop)
range(start, stop, step)

range函数接受1-3个参数,其中start、stop、step都必须是整数。参数意义如下:

  • start:起始数字,默认为0
  • stop:终止数字,但并不包括该数字
  • step:数字间的步长,默认为1

二、使用range函数生成数字序列

range函数的返回值是一个数字序列对象,可以用list()将其转化为列表,也可以使用for循环逐一访问其中的元素,例如:

# 生成1到5的数字序列
nums = range(1, 6)
print(list(nums))  # 输出 [1, 2, 3, 4, 5]

# 循环遍历数字序列
for i in range(1, 6):
    print(i)

三、使用range函数设置数字序列范围

range函数可以通过设置参数来限定数字序列的生成范围,如:

# 生成1到10,步长为2的数字序列
nums1 = range(1, 11, 2)
print(list(nums1))  # 输出 [1, 3, 5, 7, 9]

# 生成10到1的数字序列
nums2 = range(10, 0, -1)
print(list(nums2))  # 输出 [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

四、使用range函数进行循环计数

range函数可以用于for循环中,作为循环计数器,如:

# 计算1到10的和
sum = 0
for i in range(1, 11):
    sum += i
print(sum)  # 输出 55

五、range函数与len函数的结合使用

在Python中,可以使用len函数获取列表、元组等容器对象的元素个数。因此,可以使用range函数和len函数结合使用,遍历容器对象中的元素,如:

# 遍历列表中的元素
lst = [1, 2, 3, 4, 5]
for i in range(len(lst)):
    print(lst[i])

# 遍历元组中的元素
tpl = (10, 20, 30, 40, 50)
for i in range(len(tpl)):
    print(tpl[i])

六、range函数与enumerate函数的结合使用

enumerate函数可以将一个列表、元组等容器对象转化为带有索引的枚举对象,这时就可以使用range函数和enumerate函数结合使用,获取容器对象中的元素和索引值,如:

# 遍历列表中的元素和索引
lst = [1, 2, 3, 4, 5]
for i, v in enumerate(lst):
    print(i, v)

# 遍历元组中的元素和索引
tpl = (10, 20, 30, 40, 50)
for i, v in enumerate(tpl):
    print(i, v)

七、range函数的应用举例

range函数可以应用于各种场景,例如:

  • 字符串反转
  • s = "Hello, world!"
    rev_s = ""
    for i in range(len(s)-1, -1, -1):
        rev_s += s[i]
    print(rev_s)  # 输出 "!dlrow ,olleH"
    
  • 九九乘法表
  • for i in range(1, 10):
        for j in range(1, i+1):
            print(f"{j}x{i}={i*j}", end="\t")
        print()
    

八、总结

本文详细介绍了Python中range函数的用法,从生成数字序列、设置数字序列范围、循环计数、遍历容器对象等角度阐述了它在Python编程中的广泛应用。