美文网首页
4-4 如何将多个小字符串拼接成一个大字符串?

4-4 如何将多个小字符串拼接成一个大字符串?

作者: Diolog | 来源:发表于2019-02-10 14:26 被阅读0次

实际案例:

  • 在设计某网络程序时,我们自定义了一个基于UDP的网络协议,按照固定次序向服务器传递一系列参数:
    hwDetect: "<0112>"
    gxDepthBits: "<32>"
    gxResolutions: "<1024x768>"
    gxRefresh: "<60>"
    fullAlpha: "<1>"
    lodDict: "<100.0>"
    DistCull: "<500.0>"

在程序中我们将各个参数按次序收集到列表中:
["<0112>","<32>","<1024x768>","<60>","<1>","<100.0>","<500.0>"]
最终我们要把各个参数拼接成一个数据报进行发送.
"<0112><32><1024x768><60><1><100.0><500.0>"

解决方案:

  1. 迭代列表,连续使用'+'操作依次拼接每一个字符串
  2. 使用str.join()方法,更加快速的拼接列表中所有字符串

解决方案1:

from functools import reduce
l = ["<0112>","<32>","<1024x768>","<60>","<1>","<100.0>","<500.0>"]
s = reduce(lambda x,y:x+y,l)
print(s)

输出结果:
'<0112><32><1024x768><60><1><100.0><500.0>'

join测试

';'.join(['abc','123','xyz'])  =>  'abc;123;xyz'
''.join(['abc','123','xyz'])  => 'abc123xyz'

''.join(['abc',123,'xyz'])
=>Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 1: expected str instance, int found

解决方案2:

s = ''.join(l)
print(s)

输出结果:
'<0112><32><1024x768><60><1><100.0><500.0>'

相关文章

网友评论

      本文标题:4-4 如何将多个小字符串拼接成一个大字符串?

      本文链接:https://www.haomeiwen.com/subject/gezteqtx.html