6

我目前正在deque使用以下内容创建我的对象,

self.CommandList = deque((['S', False, 60],['c'],['g16'],['i50'],['r30', True],['u320'],['o5000'],['b1'],['B4500'],['W1'],['l5154'],['!10'],['p2', True, 10],['e1'],['K20'],['U0'],['Y0']))

但我希望稍后在队列中添加一个类似的列表,但使用appendleft,所以它可以跳到列表前面。我假设以下,但没有运气。

NewList = (['S'],['c'],['!10'],['p4'],['o1200'],['i50'],['r30'],['b10'],['d1'],['A', True, 163])
self.CommandList.appendleft(NewList)

这甚至可能appendleft吗?

4

1 回答 1

17

我想你想要.extendleft这里。这将“扩展列表”,而不是仅仅将列表作为一个元素附加。

z = collections.deque([1,2,3,4])   # [1, 2, 3, 4]

z.appendleft(['bad', 'news'])   # [ ['bad', 'news'], 1, 2, 3, 4 ]
z.extendleft(['good', 'news'])  # [ 'good', 'news', ['bad', 'news'], 1, 2, 3, 4 ]

如果它们被反向插入,快速解决方法是反转列表:

z.extendleft(reversed(['good', 'news']))
于 2010-07-15T14:17:35.023 回答