如何将字符串添加到双端队列中而不拆分字符?
我正在尝试创建一个字符串的双端队列(deque),但是当我往这个队列里添加一个字符串时,它总是把这个字符串拆分成一个个字符。以下是我目前的代码:
from collections import deque
my_string = "test"
my_queue = deque(my_string)
print my_queue
我得到的输出是:
deque(['t', 'e', 's', 't'])
我希望得到的输出是:
deque(['test'])
有什么想法吗?
3 个回答
1
deque 是一个可以存放一系列项目的工具。字符串其实就是一串字符的集合,所以当你把字符串放进 deque 的时候,它会把这个字符串拆分成一个个字符。如果你想一次性添加整个字符串,你需要先把字符串放进一个数组里,比如这样:['test1', 'test2', 'etc']
所以,针对你的问题,你需要使用 deque(['test'])
这样的方式。
1
当然可以!不过你没有提供具体的StackOverflow内容。如果你能把需要翻译的内容发给我,我会很乐意帮你把它变得通俗易懂。请把内容贴上来吧!
8
双端队列(deque)的构造函数需要一个可迭代的对象作为参数。如果你直接把一个字符串传给它,它会把这个字符串当成一个字符序列来处理。
如果你想要实现你想要的效果,你应该把字符串放进一个列表里:
your_string = 'string'
wrap_list = [your_string]
#Now create the deque
d = deque(wrap_list)
当然,你也可以一步到位,直接完成所有操作:
your_string = 'string'
d = deque([your_string])