首页 > 其他 > 详细

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

时间:2020-07-09 23:49:26      阅读:67      评论:0      收藏:0      [点我收藏+]

需求:
在设计网络程序时,我们自定义了一个基于UDP的网络协议,按照固定次序向服务器传递一系列参数:
hwDetect: "<0112>"
gxDepthBits: "<32>"
gxResolution: "<1024x768>"
gxRefresh: "<60>"
fullAlpha: "<1>"
lodDist: "<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()方法,更加快速的拼接列表中所有字符串

代码:

s = ["<0112>","<32>","<1024x768>","<60>","<1>","<100.0>","<500.0>"]

#方法1:
a = ‘‘
for x in s:
    a += x

print(a)

#方法2:str.join(self, iterable, /),xample: ‘.‘.join([‘ab‘, ‘pq‘, ‘rs‘]) -> ‘ab.pq.rs‘
result = ‘‘.join(s)  
print(result)

#附:若列表中有字符串又有整数,该如何快速拼接
l = [‘abc‘,1,34,‘cde‘]

#方法一:利用列表推导式,若列表非常长开销大
ret = ‘‘.join([str(x) for x in l])
print(ret)

#方法二:利用生成器推导式,开销小
ret2 = ‘‘.join(str(x) for x in l)  # 生成器推导式作为参数时,()可以省略。等价于:‘‘.join((str(x) for x in l))。<generator object <genexpr> at 0x0000024375AF49A8>
print(ret2)

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

原文:https://www.cnblogs.com/Richardo-M-Q/p/13276890.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!