在单个语句中初始化具有不同值的不同变量

tjd*_*bts 0 python

我有python变量,如下所示.

global a,b,c
Run Code Online (Sandbox Code Playgroud)

我想在一个语句中用不同的值初始化所有这些变量.

可能吗?

a=b=c=uuid.uuid1() //should return different values for a,b and c
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

uuid.uuid1()三次电话:

a, b, c = uuid.uuid1(), uuid.uuid1(), uuid.uuid1()
Run Code Online (Sandbox Code Playgroud)

你可以做一个循环,但对于3个固定项目,为什么要打扰?而且,对于像这样只有2或3个元素的解包赋值,CPython编译器会优化字节码.

如果你仍然使用循环(如果你还有一些目标要分配),使用生成器表达式并避免创建列表对象:

a, b, c, d, e, f, g, h = (uuid.uuid1() for _ in xrange(8))
Run Code Online (Sandbox Code Playgroud)