2011-05-04 53 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'])

相關問題