2016-11-09 76 views
-2

我有一個函數來加密和解密一條消息我希望我的函數能夠顯示這樣的答案:['DHBK','VZVP']但現在這是它是如何顯示結果:['D','H','B','K','V','Z','V','P']我怎樣才能改變我的程序,所以它不這樣做。現在,這是我如何添加到列表中如何在python中添加元素到列表中

for message in messages: 
    message = process_message(deck, message, encrypt_decrypt) 
    new_messages += message 
return new_messages 
+0

看來你的'process_message'正在返回單個字母。如果您想要確診您的肺部,您將不得不向我們展示腳踝以外的部位:P – Amadan

+0

請顯示更完整的[MCVE] :)。我們想幫助你,但我們需要看到更多你的問題。顯示'process_message'實際上在做什麼,所以我們知道它正在返回什麼。 – idjaw

+0

我認爲問題是我如何添加到列表,因爲當我返回消息是返回是這樣的:'VZVP',以便部分是正確的,但爲什麼這部分(new_messages + =消息)indrividually加入字符 –

回答

1

+(和擴展+ =)運算符加入序列。字符串是一個序列,導致了這一點:

>>> l = [1, 2, 3] 
>>> s = 'abc' 
>>> l += s 
>>> l 
[1, 2, 3, 'a', 'b', 'c'] 

你可能想append方法來代替:

>>> l = [1, 2, 3] 
>>> s = 'abc' 
>>> l.append(s) 
>>> l 
[1, 2, 3, 'abc'] 

PS。如果您確實需要原始結果,那麼使用字符串的'extend'方法會更清晰。相反,如果您要加入某些字符串,則可以避免因使用字符串格式化而使用+進行連接而導致混淆。

+0

順便說一句,這可能是我個人的喜好,但我真的不會推薦在列表中使用'+'。它與'append'加'extend'相同,除了更加混亂。 –

+0

我同意,我認爲它也適用於連接字符串。增加了一個PS。 – roarsneer