python中range第三个值是干嘛的,输入第三个值就不一样了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中range第三个值是干嘛的,输入第三个值就不一样了相关的知识,希望对你有一定的参考价值。
例如:for i in range(1,10,2)
print i
打印结果是:1,3,5,7,9
不应该是打印九次么?怎么才5次?
第三个值和打印次数有什么关系么?
当range()函数内填入第三个参数时,第三个参数表示步长。
函数语法:range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。
扩展资料:
##现打印一个从0开始到20结束,逐步递增4的列表,和一个以20 开始到0结束,逐步递减4的列表,如图:
for i in range(0,20,4):
print(i,end='')
for i in range(0,20,4):
print(i,end=' \\n')
for i in range(0,20,4):
print(i,end=',')
for i in range(20,-4,-4):
print(i,end= ',\\n')
参考技术A 步长,当:for i in range(1,10)
默认为:
for i in range(1,10,1)
即以1为步长递增
而当你写入:
for i in range(1,10,2)
则以步长为2递增追问
那为什么打印次数变了?
追答你打范围只有range(1,10)
当全部打印完了后,说明这一句程序已经跑完了
就比如说10减1一直减到0那么运算了10次
但是10减2一直减到0那么运算了5次
你解释你下1和2和运算次数有什么关系
为什么运算次数变了
例如:for i in range(1,10,2)
print i
打印结果是:1,3,5,7,9
不应该是:1,3,5,7,9,11,,13,15,17,19么?
间隔是2,打印十次啊。。我是那么想的。。
range(1,10)是范围,range的名词解释是范围
本回答被提问者和网友采纳 参考技术B 很明显 每个相隔了第三个参数的值2. 参考技术C 超过10就不打印了,所以只打了5次 参考技术Dpython 当中的zip( )函数到底是干嘛的?
这个可以理解为拉链,将两个list拉到一起来,每个对应元素做一定操作后,合并成一个list.比如:
zip([1,2,3],[\'a\',\'b\',\'c\'])
结果是
[(1, \'a\'), (2, \'b\'), (3, \'c\')] 参考技术A zip([1,2,3],['a','b','c'])
结果是
[(1, 'a'), (2, 'b'), (3, 'c')]
就是依次取出每一个数组的元素,然后组合
操作数可以更多
zip([1,2,3],['a','b','c'],[4,5,6])也是可以的
如果元素长度不一致会被砍到一样长
另外zip(*list)也就是数组前面带个星号,是上述操作的逆操作
zip(*[(1, 'a'), (2, 'b'), (3, 'c')])的结果是[1,2,3],['a','b','c'] 参考技术B 估计楼主以为是压缩算法吧,呵呵,这个蛮有迷惑性的,其实这个很好理解,就是用的地方不多,如果你学习过数据矩阵的话,也许不会问这个问题了。
楼主想想一下小学升国旗的时候,小学生门一排排,一列列的整齐地站着,当我们从列来看这些学生的时候,就相当于以每排学生作为一个集合,然后以这些集合组成的集合传递给了zip函数。不知道楼主看懂没有 参考技术C 这个可以理解为拉链,将两个list拉到一起来,每个对应元素做一定操作后,合并成一个list.
比如:
zip([1,2,3],['a','b','c'])
结果是
[(1, 'a'), (2, 'b'), (3, 'c')]
以上是关于python中range第三个值是干嘛的,输入第三个值就不一样了的主要内容,如果未能解决你的问题,请参考以下文章
c语言中return语句的具体作用是啥?返回值是干嘛的,谁向谁返值,返到哪里?请回答的具体点,谢谢!