我有一个生成随机字符串的方法,它总是以一个字符开头,长度至少为1
class Util:
@staticmethod
def get_random_name():
N = r.randint(0, 5)
return "".join(
r.choice(
string.ascii_lowercase
+ string.ascii_uppercase
)
).join(
r.choice(
string.ascii_lowercase
+ string.ascii_uppercase
+ string.digits
)
for _ in range(N)
)
现在当我这样做的时候:
for i in range(0,50):
logging.debug(str(i)+" -- "+Util().get_random_name())
他们中的一些人给了我空字符串,或者有时它以数字开头
我错过了什么?
问题是您正在使用
join
函数,该函数用于将多个带符号的字符串连接在一起。但是您真正想要的是连接字符串,这在Python中是使用+
符号完成的让我们看看
join
函数:让我们看看这个输出:
这里发生的是,您生成了第一个字母
H
,然后是字符串aCR10
,这是正确的。但是随后发生的不是+
,而是连接:固定版本:
我想你在找类似的东西
输出(例如):
相关问题 更多 >
编程相关推荐