【发布时间】:2012-02-13 17:11:38
【问题描述】:
这是one of my earlier questions的衍生产品
问题陈述:给定一个数字N和一个任意(但非空)set/string/list字符E,返回一个长度为N的随机字符串E 中的字符。
最pythonic的方式是什么?我可以选择''.join(( random.choice(E) for i in xrange(N) )),但我正在寻找一种更好的方法。 random 或 itertools 中是否有内置函数可以做到这一点?
奖励积分如果:
- 更少的函数调用
- 适合一行
- 对任何
N和E都有更好的通用性 - 更好的运行时性能
PS:这个问题实际上只是我作为一名 Python 鉴赏家(如果我可以这样称呼自己的话)并试图找到优雅和艺术的方式来编写代码。我之所以提到这一点是因为它看起来有点像家庭作业,我想向 SO 社区保证它不是。
【问题讨论】:
-
是否允许重复?即其中 N=2 和 E='abc','bb' 是可接受的字符串吗?
-
是的。绝对允许重复