我正在尝试创建一个字符串deque,但是当我在deque中添加一个字符串时,它总是将字符串分成单个字符。到目前为止,这是我的代码:
from collections import deque
my_string = "test"
my_queue = deque(my_string)
print my_queue
我得到的输出是:
deque(['t', 'e', 's', 't'])
我希望输出为:
deque(['test'])
有什么想法吗?
答案 0 :(得分:3)
deque构造函数将iterable作为参数,如果只是给它一个字符串,它会将它解释为一个字符序列。
为了做你想做的事,你应该将你的字符串包装成一个列表:
your_string = 'string'
wrap_list = [your_string]
#Now create the deque
d = deque(wrap_list)
当然,您可以一步到位完成所有事情:
your_string = 'string'
d = deque([your_string])
答案 1 :(得分:1)
deque([my_string])
答案 2 :(得分:1)
deque接受一个项目列表。字符串是一个字符列表,因此deque将字符串分解为字符。如果要一次添加整个字符串,则必须将字符串添加到数组中
['test1', 'test2', 'etc']
要回答您的问题:您需要使用deque(['test'])