python range 深入理解

用法

range(start, stop [,step])

start 指的是计数起始值,默认是 0;stop 指的是计数结束值,但不包括 stop ;step 是步长,默认为 1,不可以为 0 。range() 方法生成一段左闭右开的整数范围。

range返回的是可迭代对象,不是迭代器

结论

python 有 三 种 基 本 的 序 列 类 型 : 列 表 、 元 组 和 范 围( range ) 对 象 。 ( There are three basic sequence types: lists, tuples, andrange objects.)

普通序列都支持的操作有 12 种。range 序列只支持其中的 10 种,不支持进行加法拼接与乘法重复。

range 是可迭代对象而不是迭代器;range 对象是不可变的等差序列。

重点

切片只是浅拷贝 ,它拷贝的是原列表中元素的引用,所以,当存在变长对象的元素时,新列表将受制于原列表。

li =[1,2,3,4]
ls = li[::]
li == ls # True
id(li)== id(ls)# False
li.append(1i[2:4])#[1,2,3,4,[3,4]]ls.extend(1s[2:4])#[1,2,3,4,3,4]

#下例等价于判断Li长度是否大于8
if(li[8:]):
   print("not empty")
else:
   print("empty")
	 
#切片列表受制于原列表
lo =[1,[1,1],2,3]
lp=1o[:2]#[1,[1,1]]
1o[1].append(1)#[1,[1,1,1],2,3]
lp #[1,[1,1,1]]


作者:spike

分类: Python

创作时间:2023-08-13

更新时间:2024-12-09

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1