如何对随机浮点数进行排序?

时间:2017-10-06 10:02:32

标签: python

嗨,我正在努力解决一些相当简单的问题。 我只想生成一系列特定的随机浮点数,并从最低到最高排序。 这就是我的开始,

from random import *
#import random
import random

for i in xrange(5):
    list= '%2.3f' % random.uniform(0,10)
    print list

此代码段为我提供了5个随机浮动数字,但我不知道如何对它们进行排序。

2 个答案:

答案 0 :(得分:2)

您应该创建一个空的列表,然后将项目附加到其中。然后,您可以使用内置的sorted函数来打印获取已排序的数组。

import random

my_list =  []
for i in xrange(5):
    my_list.append( '%2.3f' % random.uniform(0,10))

现在,如果您打印列表,您将获得:

>>> print my_list
['6.482', '7.542', '8.361', '4.703', '1.174']

这就是你的排序方式:

>>> print sorted(my_list)
['1.174', '4.703', '6.482', '7.542', '8.361']

如果要对列表进行永久排序,请使用my_list.sort()

>>> my_list.sort()
>>> print my_list
['1.174', '4.703', '6.482', '7.542', '8.361']

我建议你不要使用“list”作为变量名,这是一个非常糟糕的做法。

答案 1 :(得分:0)

您的代码会打印五个随机数,但您不会将它们存储在list中。

这是一种做法。我使用的是Python 3.6.1

import random

random_floats = ['{:2.3f}'.format(random.uniform(0, 10)) for _ in range(5)]
print(sorted(random_floats))

sorting之后打印列表元素。随机值位于(0, 10)范围:

['0.923', '1.004', '2.119', '7.192', '9.477']

与其他人已建议的一样,请避免使用list作为变量名称。

编辑:使用_作为一次性变量是一种Python惯例。