python中的`range`函数

1. range函数的基本概念

range函数用于生成一个整数序列,可以用于循环或者生成列表等。range函数有三种不同的调用方式:

  1. range(stop)
  2. range(start, stop)
  3. range(start, stop, step)
参数解释:
  • start:序列的起始值,默认为0。
  • stop:序列的结束值,但不包括该值。
  • step:序列的步长,默认为1。

2. 基本用法示例

2.1 range(stop)

生成从0到stop-1的整数序列。

for i in range(5):
    print(i)

输出:

0
1
2
3
4
2.2 range(start, stop)

生成从startstop-1的整数序列。

for i in range(2, 5):
    print(i)

输出:

2
3
4
2.3 range(start, stop, step)

生成从startstop-1的整数序列,步长为step

for i in range(2, 10, 2):
    print(i)

输出:

2
4
6
8

3. 将range转换为列表

range函数生成的是一个range对象,可以通过list函数将其转换为列表。

print(list(range(5)))       # 输出: [0, 1, 2, 3, 4]
print(list(range(2, 5)))    # 输出: [2, 3, 4]
print(list(range(2, 10, 2))) # 输出: [2, 4, 6, 8]

4. 负数步长

range函数也支持负数步长,用于生成递减的整数序列。

for i in range(10, 2, -2):
    print(i)

输出:

10
8
6
4

5. 注意事项

  • range函数生成的序列是惰性的,即只有在需要时才会生成下一个值,这样可以节省内存。
  • range函数生成的序列是不可变的,不能对其进行修改。

6. 实际应用示例

6.1 生成偶数序列
even_numbers = list(range(0, 10, 2))
print(even_numbers)  # 输出: [0, 2, 4, 6, 8]
6.2 生成奇数序列
odd_numbers = list(range(1, 10, 2))
print(odd_numbers)  # 输出: [1, 3, 5, 7, 9]
6.3 生成递减序列
decreasing_numbers = list(range(10, 0, -1))
print(decreasing_numbers)  # 输出: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

7. 总结

range函数是Python中非常实用的函数,用于生成整数序列。通过不同的参数组合,可以生成各种不同的序列,满足不同的需求。掌握range函数的使用,对于编写循环和生成列表等操作非常有帮助。

Python 中的 `range()` 函数可创建一个整数列表,一般用在 `for` 循环中,能够产生一系列的数字,当需要叠加一些数字时,也可以用到该函数[^1][^2]。 ### 基本语法 `range()` 函数有以下几种形式: - `range(stop)`:生成从 0 开始到 `stop - 1` 的整数序列,`stop` 为计数结束的位置,最后返回的列表不包含这个数。例如 `range(5)` 会生成 `0, 1, 2, 3, 4`。 - `range(start, stop)`:`start` 表示这一系列数字中的第一个数字,`stop - 1` 表示这一系列数字中的最后一个数字,产生的数字中不包括 `stop`。例如 `range(1, 5)` 会生成 `1, 2, 3, 4` [^1][^2]。 - `range(start, stop, step)`:`step` 是步进值,默认为 1。`start` 和 `stop` 的含义与上述相同。例如 `range(1, 10, 3)` 会以 3 为步进,生成 `1, 4, 7` [^2][^3]。 ### 使用方法 #### 转换为列表 `range()` 函数产生的数字并不是以列表(`list`)类型存在的,这样做是为了节省代码所占空间。可以使用 `list()` 函数将 `range()` 产生的数字转换为列表。示例代码如下: ```python numbers = list(range(0, 5)) print(numbers) # 输出: [0, 1, 2, 3, 4] ``` #### 在 `for` 语句中使用 在 `for` 语句中使用 `range()` 产生的数字可以用于控制循环执行语句的次数。示例代码如下: ```python for i in range(5): print(i) ``` 以上代码会依次输出 `0` 到 `4`。 #### 对 `range()` 产生的数字求和 `range()` 产生的数字具有可迭代性(`iterable`),可以通过 `sum()` 函数对其进行求和处理。示例代码如下: ```python result = sum(range(1, 6)) print(result) # 输出: 15 ``` #### 指定负数步进 可以通过指定负数步进实现倒序。例如 `range(6, 0, -1)` 意思是从 6 到 0 间隔 -1,也就是倒序的 `range(2, 7, 1)`,生成的值为 `6, 5, 4, 3, 2`。示例代码如下: ```python for i in range(6, 0, -1): print(i) ``` ### 打印 `range` 对象 对于 `range` 函数创建的整数序列,使用 `print` 打印时,返回的是一个迭代器对象,只是大概展示了下序列中包含的内容,具体内容看不到。示例代码如下: ```python print(range(10)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

需要重新演唱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值