【发布时间】:2009-10-15 11:04:21
【问题描述】:
我正在尝试遍历列表并获取列表的每个部分,对其进行编码并在全部完成后将结果连接起来。例如,我有一个字符串,它生成一个列表,每个元素的长度为 16 个字符。
message = (u'sixteen-letters.sixteen-letters.sixteen-letters.sixteen-letters.')
result = split16(message, 16)
msg = ';'.join(encode(result.pop(0)) for i in result)
encode 函数接受一个 16 字节的字符串并返回结果。但是按照它的编写方式,它只对列表中的一半元素进行编码。
如果我尝试理解:
result = [encode(split16(message, 16) for message in list_of_messages)]
result = ''.join(result)
这会导致整个列表一次发送。我需要做的是将每个元素分别发送到编码函数,得到结果然后将它们连接在一起。
有没有简单的方法来实现这一点?
【问题讨论】:
-
你的列表理解在语法上是错误的
-
感谢 SilentGhost,测试了您的代码并完美运行。
-
@rescue:不要评论你自己的问题。请修正您的问题以获得正确的代码。
-
“编码函数需要一个 16 字节的字符串”——你不是说 16 个字符的字符串吗? 1 个字符不一定是 1 个字节,尤其是因为您使用的是 unicode 字符串。
标签: python list list-comprehension