如何在python中添加元素到列表中
问题描述:
我有一个函数来加密和解密一条消息我希望我的函数能够显示这样的答案:['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
答
+(和扩展+ =)运算符加入序列。字符串是一个序列,导致了这一点:
>>> 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
看来你的'process_message'正在返回单个字母。如果您想要确诊您的肺部,您将不得不向我们展示脚踝以外的部位:P – Amadan
请显示更完整的[MCVE] :)。我们想帮助你,但我们需要看到更多你的问题。显示'process_message'实际上在做什么,所以我们知道它正在返回什么。 – idjaw
我认为问题是我如何添加到列表,因为当我返回消息是返回是这样的:'VZVP',以便部分是正确的,但为什么这部分(new_messages + =消息)indrividually加入字符 –