python 3中的排序和数字生成问题
我写了一个生成和排序数字的程序,但它在启动后不起作用,没有显示任何内容,我也希望这些数字能够排序,但也不起作用。我喝了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
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,非常感谢你的解释和友好的回复。最好的