2011-05-04 132 views
2

我想创建一个字符串,但是当我向字符串添加字符串时,它总是将字符串分解为单个字符。这是我到目前为止的代码:如何在不将字符串分解为字符的情况下向字符串添加字符串?

from collections import deque 

my_string = "test" 
my_queue = deque(my_string) 

print my_queue 

我得到的输出是:

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

我想输出是:

deque(['test']) 

有什么想法?

回答

3

deque的构造函数采用迭代作为参数,如果你只要给它一个字符串,它会将其解释为一系列字符。

为了做你想做的,你应该换你的字符串到一个列表中的内容:

your_string = 'string' 
wrap_list = [your_string] 
#Now create the deque 
d = deque(wrap_list) 

当然你也可以一步到位做的一切:

your_string = 'string' 
d = deque([your_string]) 
1
deque([my_string]) 

+0

你知道,如果有一个方式与另一个变量,而不是将字符串直接放入deque构造函数? – Thomas 2011-05-04 19:17:10

+0

@user:编辑我的答案。 – 2011-05-04 19:20:49

1

双端队列发生在项目的列表。一个字符串是一个字符列表,所以该deque将字符串分解为字符。如果你想一次添加整个字符串,您必须将字符串添加到一个数组 ['test1', 'test2', 'etc']
要回答你的问题:你需要使用deque(['test'])

相关问题