如何将字符串添加到双端队列中而不拆分字符?

8 投票
3 回答
6501 浏览
提问于 2025-04-16 17:00

我正在尝试创建一个字符串的双端队列(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])

撰写回答