【发布时间】:2020-12-21 21:35:55
【问题描述】:
我遇到了这样一行python代码:
''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(8))
这有点令人困惑..有人知道它的作用吗?
【问题讨论】:
-
这是一个生成器表达式。还有语法类似的列表、字典和集合推导。
-
旁注:在现代 Python 中,生成器表达式不是必需的,因为
random产生了choices(复数)方法。所以你可以只写''.join(random.choices(string.ascii_lowercase + string.digits, k=8))(这也可以避免重复连接ascii_lowercase和digits)。 -
具体是哪一部分的问题?请参阅How to Ask、help center。
标签: python generator-expression