range 类

range 类型相比常规 list 或 tuple 的优势在于一个 range 对象总是占用固定数量的(较小)内存,不论其所表示的范围有多大(因为它只保存了 start, stop 和 step 值,并会根据需要计算具体单项或子范围的值)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# class range(object):
# range(stop) -> range object
# range(start, stop[, step]) -> range object
 
my_range = range(20)
my_range2 = range(17, 35, 2)
 
print(my_range.start, my_range.stop, my_range.step)
print("my_range中2出现的次数--->", my_range.count(2))
print("my_range中100出现的次数--->", my_range.count(100))
print("my_range中 6 的索引是--->", my_range.index(6))
 
print("my_range __bool__()--->", my_range.__bool__())
print("my_range 长度是--->", len(my_range))
 
# __reversed__ :Return a reverse iterator
print("my_range 翻转--->", tuple(my_range.__reversed__()))  # 转换为元组
 
print("my_range中 下标为7的元素是--->", my_range[7])
print("my_range中 下标 [3:6] 的元素是--->", my_range[3:6])  # range(3, 6)   返回的仍然是range
 
print("my_range2中 [3:6] 的元素是--->", my_range2[3:6])  # range(23, 29, 2)
 
print("my_range[19]==my_range2[1]--->", my_range[19] == my_range2[1])
# 相同的值序列就认为它们是相等的
# 结果相等的两个 range 对象可能会具有不同的 start, stop 和 step 属性

  

posted @   sangern  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示