如何识别字符串中的单个数字以插入前导零?

Jo *_* Ko 3 python string split python-2.7 leading-zero

在Python中,我有一个两位数或一位数的字符串:

8 5E 9C 52 30 0

在字符串中的每一个数字中,我想向它添加一个前导零(例如转换505)并使其成为两位数.

考虑拆分,.split(‘ ‘)并逐个检查并将每个数字转换为两位数:.zfill(2).

所以我的问题是,有没有办法识别字符串中的所有单个数字,并通过插入前导零将它们全部转换为两位数?

Wil*_*sem 7

好的方面zfill(..)是,如果内容包含两个字符,那么该字符串保持不变.所以你可以简单地使用生成器(或列表推导)和' '.join(..)结果:

result = ' '.join(x.zfill(2) for x in data.split())
Run Code Online (Sandbox Code Playgroud)

哪个产生:

>>> data = '8 5E 9C 52 30 0'
>>> ' '.join(x.zfill(2) for x in data.split())
'08 5E 9C 52 30 00'
Run Code Online (Sandbox Code Playgroud)