我怎样才能在的代码在Python单行使用for循环打印的随机样本(具有random.sample(范围(X,Y)中,z))?

问题描述 投票:0回答:1

我想打印随机从字母表中选择4个字母。我怎样才能做到这一点使用“为”在一个单一的代码行?

以前我做它在一个for循环使用的代码的一小块,但我想只用一个单一的代码行做。

这是我在过去所做的:

for i in random.sample(range(97, 124), 4):
    print(chr(i), end='')

OUTPUT: 'fgaj'

现在,我想这个压缩成一个单一的代码行,如下所示:

print(chr(i) for i in random.sample(range(97, 124), 4))

不过,我收到下面的输出:

<generator object <genexpr> at 0x10d10e1b0>

为什么不打印4页随机选择的信吗?

python for-loop random
1个回答
0
投票

输出告诉你到底发生了什么上。 chr(i) for i in random.sample(range(97, 124), 4)是发电机。括在括号(print([chr(i) for i in random.sample(range(97, 124), 4])打印列表中的字母,或者使用拆包(print(*(chr(i) for i in random.sample(range(97, 124), 4)))直接消耗发电机。

© www.soinside.com 2019 - 2024. All rights reserved.