2016-11-09 2 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 + = message) добавляет символы indrividally –

ответ

1

Операторы + (и по расширению + =) объединяют последовательности. Строка представляет собой последовательность, что приводит к следующему:

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

Вы, вероятно, хотите метод вместо: на добавление

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

PS. Если вместо этого вы действительно хотели получить исходный результат, использование метода «extend» строки было бы более ясным. Если вместо этого вы собираетесь присоединиться к некоторым строкам, вы можете избежать путаницы, вызванной использованием + для соединения, используя вместо этого форматирование строк.

+0

BTW , это может быть мой личный вкус, но я действительно не рекомендую использовать '+' со списками. Это то же самое, что и 'append' plus' extend', но это более запутанно. –

+0

Я согласен, и я думаю, что это относится и к присоединению строк. Добавлен PS. – roarsneer

Смежные вопросы