美文网首页
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