Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python 3中的排序和数字生成问题_Python_Arrays_Sorting_Random - Fatal编程技术网

python 3中的排序和数字生成问题

python 3中的排序和数字生成问题,python,arrays,sorting,random,Python,Arrays,Sorting,Random,我写了一个生成和排序数字的程序,但它在启动后不起作用,没有显示任何内容,我也希望这些数字能够排序,但也不起作用。我喝了3杯咖啡,然后什么也没喝 import random mylist = [] for i in range(0,5): x = random.randint(1,50) mylist.append(x) mylist.sort() 我试着在不同的地方给mylist.sort()函数,我试着不给它,然后什么都没有 import random mylist = [] f

我写了一个生成和排序数字的程序,但它在启动后不起作用,没有显示任何内容,我也希望这些数字能够排序,但也不起作用。我喝了3杯咖啡,然后什么也没喝

import random
mylist = []
for i in range(0,5):
  x = random.randint(1,50)
  mylist.append(x)
  mylist.sort()
我试着在不同的地方给mylist.sort()函数,我试着不给它,然后什么都没有

import random
mylist = []
for i in range(0,5):
  x = random.randint(1,50)
  mylist.append(x)
  mylist.sort()

我只是在学习,也许这个问题并不难,但在我职业生涯的初期,一切都很复杂。

一切都很顺利。您可能无法打印列表以查看输出

import random
mylist = []
for i in range(0, 5):
    x = random.randint(1, 50)
    mylist.append(x)
    mylist.sort()
print(mylist)
输出

[1, 6, 11, 32, 46]
如果你说的是下降代码和复杂性,那么它应该在循环之外使用排序功能

    import random
    mylist = []
    for i in range(0, 5):
        x = random.randint(1, 50)
        mylist.append(x)
    mylist.sort() # also can use sorted(mylist)
    print(mylist)
这有望奏效

它不起作用的第一个原因是,list.sort()只对列表进行排序,但不返回或打印列表。但是,排序(列表)对其进行排序并返回排序后的版本

另外,最好在for循环之外进行排序,否则在每个步骤中都会发生排序

import random
mylist = []
for i in range(0,5):
  x = random.randint(1,50)
  mylist.append(x)
mylist = sorted(mylist)
print(mylist)

Output: [3, 20, 26, 32, 39]

在for循环之后,添加
print(mylist)
您的代码在我的endmylist中运行良好。sort()最好在末尾,而不是在
for
-循环中。@Stef yes agree!我刚解决了他的问题,但效果不错。如果你说的是下降代码和复杂性,那么我同意你在循环之外进行排序。一个明显的评论是,你的代码将
.sort
替换为
sorted
,这意味着原始列表没有排序;但是在代码中忽略了
sorted
的返回值,因此会立即抛出列表的排序副本。如果您的代码是复制粘贴到python REPL中的,那么REPL将设法保存
sorted
返回的列表的排序副本,并将其打印到屏幕上;但是你的代码只是保留了无序列表,没有产生任何排序的输出。嗨,Stef,非常感谢你的解释和友好的回复。最好的