如何在不将字符串分解为字符的情况下将字符串添加到双端队列?

Tho*_*mas 6 python

我正在尝试创建一个字符串双端队列,但是当我向双端队列中添加一个字符串时,它总是将字符串分解为单个字符。到目前为止,这是我的代码:

from collections import deque

my_string = "test"
my_queue = deque(my_string)

print my_queue
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

deque(['t', 'e', 's', 't'])
Run Code Online (Sandbox Code Playgroud)

我希望输出是:

deque(['test'])
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

San*_*dri 6

deque 构造函数接受一个可迭代对象作为参数,如果你只是给它一个字符串,它会将它解释为一个字符序列。

为了做你想做的,你应该把你的字符串包装成一个列表:

your_string = 'string'
wrap_list = [your_string]
#Now create the deque
d = deque(wrap_list)
Run Code Online (Sandbox Code Playgroud)

当然,你可以一步完成所有事情:

your_string = 'string'
d = deque([your_string])
Run Code Online (Sandbox Code Playgroud)