python中内置函数range详解
作者:我是沐风晓月
前言
内置函数 range()
- range()函数的作用:
Python内置函数range()是一个用于生成一系列连续的整数的函数。它常用于循环结构中,用于指定循环的次数或迭代的范围。
- 常用的语法:
range(start, stop, step)
其中:
start(可选):开始的整数值,默认为0。
stop:结束的整数值(不包含此值)。
step(可选):步长,默认为1。
- 返回值
range()函数会返回一个range对象,你可以将其转换成列表(list)或迭代它以获取一系列整数。
- range类型的优点:
不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的。因为仅仅需要存储start,stop,step, 只有当用到range对象时,才会去计算序列中的相关元素。
in 和not in 可以判断整数序列中是否存在指定的整数。
三种创建方式
1. 只有一个参数的情况
此时默认从零开始,生成默认步长为1的序列
当range()函数只有一个参数时,该参数代表的是结束的整数值(不包含此值),起始值默认为0,步长默认为1。这种情况下的语法如下:
range(stop)
# 生成0到4的整数序列 for i in range(5): print(i) # 输出:0, 1, 2, 3, 4 # 将range对象转换成列表 numbers = list(range(5)) print(numbers) # 输出:[0, 1, 2, 3, 4]
2. 给定两个参数的情况
当range()函数给定两个参数时,第一个参数代表起始的整数值,第二个参数代表结束的整数值(不包含此值),步长默认为1。这种情况下的语法如下:
range(start, stop)
r=range(1,10) ## 给定了起始值,从1开始到10结束。此时不包含10,默认步长为1
生成2到6(不包含6)的整数序列
for i in range(2, 6): print(i) # 输出:2, 3, 4, 5 # 将range对象转换成列表 numbers = list(range(2, 6)) print(numbers) # 输出:[2, 3, 4, 5]
3. 三个参数都给定的时候
当range()函数给定三个参数时,第一个参数代表起始的整数值,第二个参数代表结束的整数值(不包含此值),第三个参数代表步长。这种情况下的语法如下:
range(start, stop, step)
以下是使用range()函数给定三个参数的示例:
# 生成1到10(不包含10)的偶数序列 for i in range(1, 10, 2): print(i) # 输出:1, 3, 5, 7, 9 # 将range对象转换成列表 numbers = list(range(1, 10, 2)) print(numbers) # 输出:[1, 3, 5, 7, 9]
使用in和not in 来判断指定的整数是否存在
1. 判断range生成的序列中是否存在指定的值
# 判断整数是否存在于range对象中 numbers = range(1, 10, 2) print(1 in numbers) # 输出:True print(6 not in numbers) # 输出:True # 判断范围内的值是否存在于range对象中 r = range(10, 20) print(15 in r) # 输出:True print(25 not in r) # 输出:True
我们使用in运算符判断特定的整数是否存在于range对象中。同时,我们使用not in运算符来判断某个值是否不存在于range对象中。需要注意的是,当使用in或not in运算符判断一个值是否存在于range对象中时,会遍历整个序列进行搜索。因此,如果range对象的范围非常大,这样的搜索可能会消耗大量的时间和内存。所以,你可以使用in和not in运算符来判断一个特定的值是否存在于range对象的序列中,并根据返回的布尔值进行相应的处理。
2. in 和not in 不与range结合的情况
# 列表 fruits = ['apple', 'banana', 'orange'] print('apple' in fruits) # 输出:True print('grape' not in fruits) # 输出:True # 字符串 message = 'Hello, world!' print('world' in message) # 输出:True print('Python' not in message) # 输出:True
总结
到此这篇关于python之内置函数range的文章就介绍到这了,更多相关python内置函数range内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!