• (语法糖)列表生成式之怪诞--(暂时无法理解)


    事情发生背景:

      题目是:有10万个随机数,请写一段代码,找出前10个最小的。

      一开始我想的是直接用python语法糖(列表生成式)生成一个随机的10万个数字。

      但是我发现以我目前的能力完成不了,因此我就用了一个列表和一个列表生成式做出了一个伪随机数.

      import random
      import heapq
      list1 = []
      for a in range(20,2000000):
    list1.append(a)
      list2 = []
      for i in range(10000):
      list2.append(random.choice(list1))
      res = heapq.nsmallest(10, list2)
      print(res)

    事情经过:
      问题这样也就解决了(虽然是不完美的解决),但是我觉得不够简洁,基于PythonIC(该名词上面有详细介绍)的严谨,就想到直接列表生成式做出伪随机数。
      于是就有了这样(自认为的)怪诞。。。
       
      
      import random
      list1 = []
      list2 = []
      #双层伪随机数造成伪最终的随机数
      list1 = [list1.append(random.randint(1,2000000))for i in range(1,20000)]
      print(list1)
      list2 = [list2.append(random.choice(list1))for i in range(20)]
      print(list2)

     为什么会是None类型呢???的目前我无法理解的事情,记录下来,等待以后自己有足够的知识背景再来解释,大家有什么想法也可以讨论下。

  • 相关阅读:
    Task 5.1 电梯调度程序需求调研报告
    Task 4 求数组的连续子数组的最大和(团队合作)
    class 3 求数组中的最大值(单元测试)
    《你的灯亮着吗》读书笔记3
    优惠购书
    校友聊NABCD
    环状二维数组(改进版)
    环状二维数组
    环状一维数组
    二维数组最大值
  • 原文地址:https://www.cnblogs.com/yp19970/p/11956720.html
Copyright © 2020-2023  润新知