Python 生成一段随机字符串的三种写法
方法1
s1=''.join(random.choice(string.ascii_letters + string.digits) for _ in range(10**7))1
方法2
for _ in range(10**7): s2 += random.choice(string.ascii_letters + string.digits)12
方法3
s3=''.join(random.choices(string.ascii_letters + string.digits, k=10**7))1
运行时间对比
import time, random, stringtime_s_1 = time.time()s1=''.join(random.choice(string.ascii_letters + string.digits) for _ in range(10**7))time_e_1 = time.time()print('method 1:', str(time_e_1 - time_s_1))s2=''time_s_2 = time.time()for _ in range(10**7): s2 += random.choice(string.ascii_letters + string.digits)time_e_2 = time.time()print('method 2:', str(time_e_2 - time_s_2))time_s_3 = time.time()s3=''.join(random.choices(string.ascii_letters + string.digits, k=10**7))time_e_3 = time.time()print('method 3:', str(time_e_3 - time_s_3))123456789101112131415161718
下面是输出的运行时间:
method 1: 9.464683055877686method 2: 18.667069911956787method 3: 2.693830728530884123
结论:系统内置函数random.choices速度最快
查看原文 >>