【发布时间】:2015-07-17 02:04:33
【问题描述】:
我有一个函数,它返回一个大小为N 的字符串,其中包含一个随机字符序列,形成一个小集合{A,B,C,D}。我将此行生成为:
def gen_line(N):
tline = ""
for i in range(N):
xrand = random.random()
if( xrand < 0.25 ):
ch = "A"
elif( xrand < 0.50 ):
ch = "B"
elif( xrand < 0.75 ):
ch = "C"
elif( xrand < 1.00 ):
ch = "D"
else:
print "ERROR: xrand = %f"%( xrand )
tline = tline+ch
return tline
但毫无疑问,这是一种非常低效的做事方式。有没有更好、更 Pythonic 的方法来实现这一点?
【问题讨论】:
-
所以你的问题不在于速度,而在于你的解决方案有多pythonic?