作者:End---的天空_808 | 来源:互联网 | 2023-10-13 11:28
我想将我的字符串转换为列表并仅在项目是文本时连接项目。
例如:
string = "123 text 4 text text text 800 text"
l = []
for i in string.split():
if i[0].isalpha:
l.append(i)
我想要的是
l = ["123", "text", "4", "text text text", "800", "text"]
我拥有的
l = ["123", "text", "4", "text", "text", "text", "800", "text"]
我想将数字之间的所有文本项合并为一个列表项
回答
import itertools as it
string = "123 text 4 text text text 800 text"
l = [" ".join(group)
for _, group in it.groupby(
string.split(), key=lambda s: s[0].isalpha())]
结果:
>>> l
['123', 'text', '4', 'text text text', '800', 'text']