嗨,我正在努力解决一些相当简单的问题。 我只想生成一系列特定的随机浮点数,并从最低到最高排序。 这就是我的开始,
from random import *
#import random
import random
for i in xrange(5):
list= '%2.3f' % random.uniform(0,10)
print list
此代码段为我提供了5个随机浮动数字,但我不知道如何对它们进行排序。
答案 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惯例。