在python中,如何将一个字符串拆分为长度相等且0位于空位置的对?

在python中,如何将一个字符串拆分为长度相等且0位于空位置的对?,python,Python,我有一个字符串,例如“6PH57VP3+PR”,我需要拆分它以获得这些字符串:“6P00000000”、“00H5000000”、“00007V0000”、“000000P300”、“00000000 PR”。 有一个简单的python函数可以做到这一点吗?我认为没有一个简单的函数可以做到这一点,但制作一个函数很容易: def f(s): res = [] #before + for i in range(0,len(s)-3,2): a = ['0']

我有一个字符串,例如“6PH57VP3+PR”,我需要拆分它以获得这些字符串:“6P00000000”、“00H5000000”、“00007V0000”、“000000P300”、“00000000 PR”。
有一个简单的python函数可以做到这一点吗?

我认为没有一个简单的函数可以做到这一点,但制作一个函数很容易:

def f(s):
    res = []

    #before +
    for i in range(0,len(s)-3,2):
        a = ['0']*len(s)
        a[i:i+2] = s[i:i+2]
        res.append("".join(a))

    # the last 2 after +
    a = ['0']*len(s)
    a[-2:] = s[-2:]
    res.append("".join(a))

    return res 

assert f('6PH57VP3+PR')  == ['6P000000000', '00H50000000', '00007V00000', '000000P3000', '000000000PR']

假设您总是想要删除
+
,并且字符串的长度总是相同的,那么您可以使用列表理解

location_code='6PH57VP3+PR'
位置代码列表=['0'*s+位置代码。替换('+','')[s:s+2]+'0'*(8-s)
对于范围(0、10、2)内的s)]
打印(位置\代码\列表)
“”“输出
['6P00000000','00H5000000','00007V0000','000000P300','00000000 PR']
"""

there+打破了这种模式。所有的字符串都是aabbccdd+ee形式的吗?具体的规则是什么?@ChristianSloper是的