Python刷题笔记2:range转为列表

发布于:2025-05-01 ⋅ 阅读:(29) ⋅ 点赞:(0)

题目:
编写一个程序,创建一个给定范围内的整数列表。

定义函数list_between(),有两个参数start和end。
在函数内,创建一个介于start(不包括)和end(不包括)之间的所有整数的列表,并返回该列表。
在这里插入图片描述

def list_between(start, end):
    # 此处写你的代码
    arr = list(range(start+1,end))
    # print(arr)
    # for i in range(start+1,end):
    #     list.append(i)
    return arr
# 获取输入的start 及 end
start = int(input())
end = int(input())

# 调用函数
print(list_between(start, end))

Python range() 方法详解

1. 基本语法
range(stop)              # 生成 0 至 stop-1 的整数序列
range(start, stop)       # 生成 start 至 stop-1 的整数序列
range(start, stop, step) # 生成 start 开始,步长为 step 的等差数列,不超过 stop
2. 参数说明
  • start(可选):起始值,默认为 0
  • stop(必选):终止值(不包含该值
  • step(可选):步长,默认为 1,不能为 0(否则触发 ValueError
3. 返回值特性

返回 range 类型对象(Python 3 特性),是惰性计算的不可变序列,可通过 list() 转换为列表:

print(range(5))        # 输出:range(0, 5)
print(list(range(5)))  # 输出:[0, 1, 2, 3, 4]
4. 使用场景
  • 循环控制
    for i in range(3):
        print(i)  # 输出 0, 1, 2
    
  • 索引遍历
    arr = ["a", "b", "c"]
    for i in range(len(arr)):
        print(arr[i])
    
  • 生成序列
    odd_numbers = list(range(1, 10, 2))  # [1, 3, 5, 7, 9]
    
5. 特殊用法
  • 负数步长(反向生成):
    list(range(5, 0, -1))  # 输出 [5, 4, 3, 2, 1]
    
  • 浮点数处理
    需借助 numpy.arange()(如引用[2]所述):
    import numpy as np
    np.arange(0, 1, 0.3)  # 生成 [0.0, 0.3, 0.6, 0.9]
    
6. 注意事项
错误示例 错误原因 解决方案
range(10, 5) start > stop 且 step=1 使用负数步长:range(10,5,-1)
range(1, 5, 0) step=0(违反约束) 修改为非零步长
range(1.5, 5) 参数要求整数 使用 numpy.arange()

网站公告

今日签到

点亮在社区的每一天
去签到