合并拼接字符串,将多个小字符串拼接成一个大字符串,join


实际案例

在设计某网络程序时,我们自定义了一个基于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>>"

第一种方法是利用加号(+)

Python
In [1]: s = ["<0112>", "<32>", "<1024x768>", "<60>", "<1>", "<100.0>", "<500.0>" ...: ] In [2]: z='' In [3]: for x in s: ...: z+=x ...: In [4]: print(z) <0112><32><1024x768><60><1><100.0><500.0>
1
2
3
4
5
6
7
8
9
10
11
In [ 1 ] : s = [ "<0112>" , "<32>" , "<1024x768>" , "<60>" , "<1>" , "<100.0>" , "<500.0>"
   . . . : ]
 
In [ 2 ] : z = ''
 
In [ 3 ] : for x in s :
   . . . :      z += x
   . . . :
 
In [ 4 ] : print ( z )
< 0112 > < 32 > < 1024x768 > < 60 > < 1 > < 100.0 > < 500.0 >

另外一种方式是 join 方法:

Python
In [5]: ss = ''.<span class="wp_keywordlink_affiliate"><a href="https://www.168seo.cn/tag/join" title="View all posts in join" target="_blank">join</a></span>(s) In [6]: ss Out[6]: '<0112><32><1024x768><60><1><100.0><500.0>'
1
2
3
4
In [ 5 ] : ss = '' . join ( s )
 
In [ 6 ] : ss
Out [ 6 ] : '<0112><32><1024x768><60><1><100.0><500.0>'

如果s 中字符串中有其他类型呢?
可以采用

[code]
''.join([str(x) for x in s])
#这种方式 列表解析

如果数据量较大,可以考虑生成器

In [7]: (str(x) for x in s)
Out[7]: <generator object <genexpr> at 0x10b58e468>

In [8]: ''.join((str(x) for x in s))
Out[8]: '<0112><32><1024x768><60><1><100.0><500.0>'
最优迭代




  • zeropython 微信公众号 5868037 QQ号 5868037@qq.com QQ邮箱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值