字符串拆分和拼接(含list拼接)---基于python

最近得一超长字符串如下:

l=“5245474953544552207369703a3137322e3136312e31302e323232205349502f322e300d0a5669613a205349502f322e302f554450203137322e3136312e31302e3133323a34303135333b72706f72743b6272616e63683d7a39684734624b30343836380d0a4d61782d466f7277617264733a2037300d0a546f3a203c7369703a3230303030303230303037403137322e3136312e31302e3232323e0d0a46726f6d3a203c7369703a3230303030303230303037403137322e3136312e31302e3232323e3b7461673d7a39684734624b35343030313138360d0a43616c6c2d49443a203732363539323238393235320d0a435365713a20312052454749535445520d0a436f6e746163743a203c7369703a3230303030303230303037403137322e3136312e31302e3133323a34303135333b7472616e73706f72743d7564703e0d0a557365722d4167656e743a205a65642d332d5044410d0a457870697265733a20313830300d0a5074742d457874656e73696f6e3a20336768616e647365742072656769737465720d0a5074742d4174747269627574653a2076657273696f6e3d22332e362e302e303138325f646562756731222c746869643d224132303030313230393844314546222c766f70743d312e300d0a5074742d4c6f67696e496e666f3a206d6f64653d6d616e75616c2c696d65693d41323030303132303938443145462c69636369643d38393836303331363438323031313437353032372c696d73693d3436303033383632303338333431360d0a436f6e74656e742d4c656e6774683a20300d0a0d0a”

我想对这一长串字符串进行每两个字符的分割处理,怎么办呢?想到了正则表达式re,那下面就是实现:

import re
l="5245474953544552207369703a3137322e3136312e31302e323232205349502f322e300d0a5669613a205349502f322e302f554450203137322e3136312e31302e3133323a34303135333b72706f72743b6272616e63683d7a39684734624b30343836380d0a4d61782d466f7277617264733a2037300d0a546f3a203c7369703a3230303030303230303037403137322e3136312e31302e3232323e0d0a46726f6d3a203c7369703a3230303030303230303037403137322e3136312e31302e3232323e3b7461673d7a39684734624b35343030313138360d0a43616c6c2d49443a203732363539323238393235320d0a435365713a20312052454749535445520d0a436f6e746163743a203c7369703a3230303030303230303037403137322e3136312e31302e3133323a34303135333b7472616e73706f72743d7564703e0d0a557365722d4167656e743a205a65642d332d5044410d0a457870697265733a20313830300d0a5074742d457874656e73696f6e3a20336768616e647365742072656769737465720d0a5074742d4174747269627574653a2076657273696f6e3d22332e362e302e303138325f646562756731222c746869643d224132303030313230393844314546222c766f70743d312e300d0a5074742d4c6f67696e496e666f3a206d6f64653d6d616e75616c2c696d65693d41323030303132303938443145462c69636369643d38393836303331363438323031313437353032372c696d73693d3436303033383632303338333431360d0a436f6e74656e742d4c656e6774683a20300d0a0d0a"
a=re.findall(r'.{2}',l)
print type(a)
print a
通过打印我们发现re出来的是list,打印如下:

<type 'list'>
['52', '45', '47', '49', '53', '54', '45', '52', '20', '73', '69', '70', '3a', '31', '37', '32', '2e', '31', '36', '31', '2e', '31', '30', '2e', '32', '32', '32', '20', '53', '49', '50', '2f', '32', '2e', '30', '0d', '0a', '56', '69', '61', '3a', '20', '53', '49', '50', '2f', '32', '2e', '30', '2f', '55', '44', '50', '20', '31', '37', '32', '2e', '31', '36', '31', '2e', '31', '30', '2e', '31', '33', '32', '3a', '34', '30', '31', '35', '33', '3b', '72', '70', '6f', '72', '74', '3b', '62', '72', '61', '6e', '63', '68', '3d', '7a', '39', '68', '47', '34', '62', '4b', '30', '34', '38', '36', '38', '0d', '0a', '4d', '61', '78', '2d', '46', '6f', '72', '77', '61', '72', '64', '73', '3a', '20', '37', '30', '0d', '0a', '54', '6f', '3a', '20', '3c', '73', '69', '70', '3a', '32', '30', '30', '30', '30', '30', '32', '30', '30', '30', '37', '40', '31', '37', '32', '2e', '31', '36', '31', '2e', '31', '30', '2e', '32', '32', '32', '3e', '0d', '0a', '46', '72', '6f', '6d', '3a', '20', '3c', '73', '69', '70', '3a', '32', '30', '30', '30', '30', '30', '32', '30', '30', '30', '37', '40', '31', '37', '32', '2e', '31', '36', '31', '2e', '31', '30', '2e', '32', '32', '32', '3e', '3b', '74', '61', '67', '3d', '7a', '39', '68', '47', '34', '62', '4b', '35', '34', '30', '30', '31', '31', '38', '36', '0d', '0a', '43', '61', '6c', '6c', '2d', '49', '44', '3a', '20', '37', '32', '36', '35', '39', '32', '32', '38', '39', '32', '35', '32', '0d', '0a', '43', '53', '65', '71', '3a', '20', '31', '20', '52', '45', '47', '49', '53', '54', '45', '52', '0d', '0a', '43', '6f', '6e', '74', '61', '63', '74', '3a', '20', '3c', '73', '69', '70', '3a', '32', '30', '30', '30', '30', '30', '32', '30', '30', '30', '37', '40', '31', '37', '32', '2e', '31', '36', '31', '2e', '31', '30', '2e', '31', '33', '32', '3a', '34', '30', '31', '35', '33', '3b', '74', '72', '61', '6e', '73', '70', '6f', '72', '74', '3d', '75', '64', '70', '3e', '0d', '0a', '55', '73', '65', '72', '2d', '41', '67', '65', '6e', '74', '3a', '20', '5a', '65', '64', '2d', '33', '2d', '50', '44', '41', '0d', '0a', '45', '78', '70', '69', '72', '65', '73', '3a', '20', '31', '38', '30', '30', '0d', '0a', '50', '74', '74', '2d', '45', '78', '74', '65', '6e', '73', '69', '6f', '6e', '3a', '20', '33', '67', '68', '61', '6e', '64', '73', '65', '74', '20', '72', '65', '67', '69', '73', '74', '65', '72', '0d', '0a', '50', '74', '74', '2d', '41', '74', '74', '72', '69', '62', '75', '74', '65', '3a', '20', '76', '65', '72', '73', '69', '6f', '6e', '3d', '22', '33', '2e', '36', '2e', '30', '2e', '30', '31', '38', '32', '5f', '64', '65', '62', '75', '67', '31', '22', '2c', '74', '68', '69', '64', '3d', '22', '41', '32', '30', '30', '30', '31', '32', '30', '39', '38', '44', '31', '45', '46', '22', '2c', '76', '6f', '70', '74', '3d', '31', '2e', '30', '0d', '0a', '50', '74', '74', '2d', '4c', '6f', '67', '69', '6e', '49', '6e', '66', '6f', '3a', '20', '6d', '6f', '64', '65', '3d', '6d', '61', '6e', '75', '61', '6c', '2c', '69', '6d', '65', '69', '3d', '41', '32', '30', '30', '30', '31', '32', '30', '39', '38', '44', '31', '45', '46', '2c', '69', '63', '63', '69', '64', '3d', '38', '39', '38', '36', '30', '33', '31', '36', '34', '38', '32', '30', '31', '31', '34', '37', '35', '30', '32', '37', '2c', '69', '6d', '73', '69', '3d', '34', '36', '30', '30', '33', '38', '36', '32', '30', '33', '38', '33', '34', '31', '36', '0d', '0a', '43', '6f', '6e', '74', '65', '6e', '74', '2d', '4c', '65', '6e', '67', '74', '68', '3a', '20', '30', '0d', '0a', '0d', '0a']

我最终的目的是让原始字符串每隔两个字符加一个x,那就在把这个list在增加完x后再拼起来,如下:

result="\x".join(a)
print result

拓展:
将生成的list每隔元素都固定加一个x,仍以list输出
def list_add_str(l):
return map(lambda x: 'str_'+x, l)

print list_add_str(['abc','def','xyz'])




原文地址:https://www.cnblogs.com/VseYoung/p/str_list_join.html