列表步长的问题
1.什么是步长?2.下面这个列表中的两个“:”的作用我不太理解,为什么可以空一个数字打印呢?{:9_241:}
>>> list1 =
>>> list1[-3:-1]
>>> list1[::2]
>>> list1[::-2]
>>>
谢谢! list1[::-2] 相当于list1 list可以指定三个参数
list
start指定开始的索引位置,空着表示从头开始索引
stop结束的索引位置,空着表示索引到最后
step步长,设置了就按你设置的步长来步进
>>> list1=
>>> list1[::1]
>>> list1[::2]
>>> list1
>>> list1
本帖最后由 sunrise085 于 2020-4-1 15:46 编辑
list的下标有两种方式
第一种从前向后:以0 开始,0,1,2,3……
第二种从后向前:一-1开始,……-3,-2,-1
例如:
list1=
正下标: 0 , 1,2,3,4,5
负下标:-6, -5, -4, -3, -2, -1
1、步长就是每次跨过几个,例如:list1 = ,步长为2 切片的话,得到的就是越过了 3,9, 8
2、list1 其中m是切片的起始位置,默认为0,n是切片的终止位置(不含)默认为结尾,l是步长,默认为1
三个值都可以使用默认值,省略步长l的时候,可以不写第二个冒号,但是若需要自定义步长l,则前面的两个冒号都要写
全部切片则是list1[:]
list1[::2]就是从list1的全部元素中进行切片,步长为2,步长是正数,从下标为0 的元素开始切片,得到的是
list1[::-2]就是从list1的全部元素中进行切片,步长为-2,步长是负数,从下标为-1 的元素开始切片,得到的是 本帖最后由 dlnb526 于 2020-4-1 15:49 编辑
您好,步长就是设定一个常值指定两个元素之间的间隔。就像是人走路走出一步的距离相同。
第二个问题需要认真学习切片部分。
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
你一定知道下面代码的结果
>>> L
['Michael', 'Sarah', 'Tracy']
可以通过切片轻松取出某一段数列。如果换一个列表进行选取,比如列表里是0-99,
L = range(100)
那么前10个数:
>>> L[:10]
后10个数:
>>> L[-10:]
也可以通过L实现,也就是说索引可以是负数
前10个数,每两个取一个:
>>> L[:10:2]
这里2就是步长。
所有数,每5个取一个:
>>> L[::5]
甚至什么都不写,只写[:]就可以原样复制一个list:
>>> L[:]
试试上面几个例子,希望对你有所帮助 {:10_254:} {:10_254:} {:10_254:} {:10_254:} {:10_254:} {:10_254:} {:10_254:} {:10_254:} {:10_254:}
没那么标准哈, 1. 步长就是跳几步取一个元素。
2. 切片的格式是 list,start、stop、step 都可以省略。
如果省略,start 为 0,stop 为列表的长度。
所以 list1[::2] 相当于 list1(因为 list1 的长度是 2),跳 2 步取一个元素:
[1, 3, 2, 9, 7, 8]
页:
[1]