gpt4 book ai didi

python - 在 Python 中将 Number 与 Word 分离并返回新列表

转载 作者:行者123 更新时间:2023-11-30 22:11:58 25 4
gpt4 key购买 nike

new_list = []
pattern = re.compile("([0-9]+)([a-zA-Z]+)")

for i, x in enumerate(my_list):
if (re.match(r"([0-9]+)([a-zA-Z]+)", x)):
result = pattern.match(x)
#result = result.group(1) + ' ' + result.group(2)
new_list.append(result.group(1))
new_list.append(result.group(2))
i = i + 2
new_list = new_list + my_list[i:]

return new_list

当前输出:

Input: ['2fee', 'lmao', '222wow']

Output: ['2', 'fee', '222', '222wow', '222', 'wow']

期望的输出:

['2', 'fee', 'lmao', '222', 'wow']

我怎样才能实现这个输出?非常感谢

最佳答案

itertools.groupbystr.isdigit一起使用:

from itertools import groupby

L = ['2fee', 'lmao', '222wow']

res = [''.join(j) for strng in L for _, j in groupby(strng, key=str.isdigit)]

# ['2', 'fee', 'lmao', '222', 'wow']

请注意,这将拆分字符串中出现的每个数字实例。例如,'1a23bc'将被拆分为'1''a''23''bc'

关于python - 在 Python 中将 Number 与 Word 分离并返回新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51252002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com