lst1=sorted(lst[:10])
lst[:10]=lst1
lst2=sorted(lst[10:],reverse=True)
lst[10:]=lst2这一串什么意思
lst[:10]作用是什么
这段代码的作用是将一个列表lst中的前10个数按照升序排列,后面的数按照降序排列。
具体解释如下:
lst1=sorted(lst[:10])
:将lst列表中前10个数切片出来,然后使用sorted函数对其进行升序排列,得到一个新的列表lst1。lst[:10]=lst1
:将lst列表中前10个数的值替换为lst1列表中的值,这样就实现了将前10个数按照升序排列的目的。lst2=sorted(lst[10:],reverse=True)
:将lst列表中第11个数到最后一个数切片出来,然后使用sorted函数对其进行降序排列,得到一个新的列表lst2。lst[10:]=lst2
:将lst列表中第11个数到最后一个数的值替换为lst2列表中的值,这样就实现了将后面的数按照降序排列的目的。总的来说,这段代码的作用是将一个列表中的数按照一定的规则进行排序。
lst1=sorted(lst[:10]) #将列表 lst 的前10个元素进行排序,并将排序后的结果赋值给 lst1
lst[:10]=lst1 #将 lst1 赋值给 lst 前10个元素
lst2=sorted(lst[10:],reverse=True) #将列表 lst 第 11 个元素开始到列表结尾的所有元素进行倒序排序,结果赋值给 lst2
lst[10:]=lst2 #将 lst2 赋值给 lst 从第 11 个元素开始的位置
lst[:10] #取前10个元素
比如,lst=[1, 4, 5, 3, 6, 2, 9, 7, 8, 10, 11, 13, 12, 14, 15]
为方便查看,前10个数<=10,后面的>=5
处理完后的 lst:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 14, 13, 12, 11]
>>> lst=[1,2,3]
>>> lst[0::1]
[1, 2, 3]
>>> lst[1:2:1]
[2]
>>> lst[1:3:1]
[2, 3]
>>> lst[::-1]
[3, 2, 1]
>>> lst[:-3:-1]
[3, 2]
>>> lst[-1:-2:-1]
[3]
>>> lst[-1:-4:-1]
[3, 2, 1]
lst[::]两个冒号对应的如上填三个数值
这三个数字,最后一位是-1则逆序,是1则正序
前面两个一个start,一个是end,里面是索引值
当要正序输出时,start从0开始,你要从那个数值输出,就把它的索引值设为start,end则是要你结束的那个数值的索引值+1,。
比如 lst[0::1]的结果为[1, 2, 3],就是从1的索引值0开始,end不填则默认全部输出
lst[1:2:1]的结果为[2],就是从索引值为1的2开始,而又因为end=索引值+1,那么其实结束的索引值也是1所以就是只输出索引值为1的2
当要逆序输出时,start就是从-1开始,然后其她的所以值就是依次增加,就是3的索引值为-1,2的索引值为-2,1的索引值为-3,那么start=索引值,end=索引值-1,所以像lst[-1:-2:-1]的结果就为3