如何在1行中分配具有相同参数的2个变量

Bre*_*ons 1 python variables python-3.x

就像一个学习练习一样,我想知道python 3.x中是否有一种基本的方法:

a = random.sample(range(30), random.randrange(1,20))
b = random.sample(range(30), random.randrange(1,20))
Run Code Online (Sandbox Code Playgroud)

如:

a, b = random.sample(range(30), random.randrange(1,20))
Run Code Online (Sandbox Code Playgroud)

这是行不通的,据我所知。我也不知道是否有可能不写就这样做。

a, b = random.sample(range(30), random.randrange(1,20)), random.sample(range(30), random.randrange(1,20))
Run Code Online (Sandbox Code Playgroud)

感谢您的提前答复。

End*_*ook 7

我认为最好的选择可能是列表理解:

a, b = [random.sample(range(30), random.randrange(20)) for _ in range(2)]
Run Code Online (Sandbox Code Playgroud)

另外,您可以使用生成器表达式:

a, b = (random.sample(range(30), random.randrange(20)) for _ in range(2))
Run Code Online (Sandbox Code Playgroud)

但是,由于这是拆包过程,所以我不确定这样做是否会更快。