列表python编写编程随机取数

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]

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7690193
  • 这篇博客也不错, 你可以看下Python 课程学习笔记(5)列表 [ ] lst
  • 除此之外, 这篇博客: Python列表的正序,逆序输出中的 假设一个列表lst=【1,2,3】将这个列表逆序和正序输出 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • >>> 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