如何在不将字符串分解为字符的情况下为字符串添加字符串?

时间:2011-05-04 19:14:32

标签: python

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

from collections import deque

my_string = "test"
my_queue = deque(my_string)

print my_queue

我得到的输出是:

deque(['t', 'e', 's', 't'])

我希望输出为:

deque(['test'])

有什么想法吗?

3 个答案:

答案 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'])