range()函数的参数及含义,range()函数的用法
Yyds干货库存
内置函数range()通常用于遍历一系列数字。这个函数可以生成等差数列:
对于范围(5)中的I:
.打印(一)
.
0
一个
2
三
生成的序列4不包含给定的终止值;Range(10)生成10个值,这是一个长度为10的序列,其中所有的元素索引都是合法的。范围可能不是从0开始,也可能是以指定的幅度增加(增加的幅度称为“步长”,支持负数):
列表(范围(5,10))
[5, 6, 7, 8, 9]
列表(范围(0,10,3))
[0, 3, 6, 9]
列表(范围(-10,-100,-30))
[-10,-40,-70] range()和len()组合起来按索引迭代序列:
a=[玛丽,哈德,阿,小,小羊]
对于范围内的I(len(a)):
.印刷(I,a[i])
.
0玛丽
1个有
2 a
3个小
4 lamb不过,大多数情况下,enumerate()函数更方便。
如果只输出范围,会出现意想不到的结果:
范围(10)
Range (0,10)range()返回一个对象的操作类似于链表,但实际上这两个对象不是一回事。迭代时,对象根据需要的顺序返回连续的项,不生成真正的链表,节省了空间。这类对象称为iterable对象,通过它,一个函数或程序结构可以获得连续项,直到迭代完所有元素。for语句就是这样一个架构,sum()是一个以iterable对象为参数的函数:
sum(范围(4)) # 0 1 2 3
6循环的技巧在字典中循环时,可以用items()方法同时取出键和对应的值:
knights={gallahad :纯洁的,罗宾:勇敢的 }
对于knights.items()中的k,v:
.打印(k,v)
.
纯洁的加拉哈德
当Robin Brave在序列中循环时,enumerate()函数可以同时取出位置索引和对应的值:
对于I,v in enumerate([tic , tac , toe]):
.印刷(一、五)
.
0 tic
1个tac
2当TOE同时循环两个或多个序列时,zip()函数可以将其中的元素一一匹配:
问题=[姓名,任务,最喜欢的颜色]
answers=[兰斯洛特,圣杯,蓝色]
对于zip中的q,a(问题、答案):
.打印(你的{0}是什么?它是{1}。格式(q,a))
.
你叫什么名字?是兰斯洛特。
你的追求是什么?这是圣杯。
你最喜欢什么颜色?IsBlue。反转序列时,首先定位正向的序列,然后调用reversed()函数:
对于反向的I(范围(1,10,2)):
.打印(一)
.
九
七
五
三
1按照指定的顺序循环序列。可以使用sorted()函数返回一个新序列,而不改变原始序列:
basket=[苹果,橘子,苹果,梨,橘子,香蕉]
对于已排序(篮子)中的I:
.打印(一)
.
苹果
苹果
香蕉
橙色的
橙色的
Pear使用set()删除序列中的重复元素。使用sorted()和set()按排序顺序循环遍历序列中的唯一元素:
basket=[苹果,橘子,苹果,梨,橘子,香蕉]
对于已分类的f(器械包(篮子)):
.打印(f)
.
苹果
香蕉
橙色的
一般来说,当在一个循环中修改一个列表的内容时,创建一个新的列表是简单而安全的:
导入数学
raw_data=[56.2,float(NaN ),51.7,55.3,52.5,float(NaN ),47.8]
filtered_data=[]
对于raw_data中的值:
.如果不是math.isnan(值):
.filtered_data.append(值)
.
过滤数据
[56.2, 51.7, 55.3, 52.5, 47.8]
转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。