复制一个空的双端队列

tur*_*tle 3 python

我想要一个有效的方法来创建几个空的deques.我怎么能用Python做到这一点?我的第一个想法是做这样的事情:

import collections

i = j = k = l = collections.deque()
Run Code Online (Sandbox Code Playgroud)

此代码只创建引用相同双端队列的多个变量.我如何快速创建几个空的deques?

Ash*_*ary 8

使用生成器表达式:

i, j, k, l = (collections.deque() for _ in xrange(4))
Run Code Online (Sandbox Code Playgroud)

  • 使用`xrange`代替`range`有点奇怪,只是为了避免创建一个不必要的4个整数列表,但是然后在列表解析中使用它而不是生成器表达式来创建一个不必要的4个deques列表... (3认同)
  • `i,j,k,l = map(deque,[[]]*4)`</ troll_golf> (2认同)