如何打开以下列表:
[['110T148A112', '24,0001100409'],
['110T148A077','24,0001100316']]
进入
[['110T148A112', '24,000', '1100409'],
['110T148A077','24,000', '1100316']]
实现这一点的最简洁的语法方法是什么?
谢谢你的帮助!!
您可以使用re.findall
来处理字符串中逗号的位置和数量的更大可变性:
import re
d = [['110T148A112', '24,0001100409'], ['110T148A077', '24,0001100316']]
r = [[a, *re.findall('(?<=,d{3})d+$|^d+(?:,d{3})+', b)] for a, b in d]
输出:
[['110T148A112', '24,000', '1100409'], ['110T148A077', '24,000', '1100316']]
如果所有数据都是相同的格式,您可以使用字符串切片的列表理解:
lst = [['110T148A112', '24,0001100409'],
['110T148A077','24,0001100316']]
res = [[l[0], l[1][:6], l[1][6:]] for l in lst]
输出:
[
['110T148A112', '24,000', '1100409'],
['110T148A077', '24,000', '1100316']
]