gpt4 book ai didi

python - 如何使用向后组合迭代拆分字符串?

转载 作者:行者123 更新时间:2023-11-28 20:57:11 24 4
gpt4 key购买 nike

我有一个字符串列表,如下所示:

['C04.123.123.123', 'C03.456.456.456', 'C05.789.789.789']

我正在尝试拆分每个字符串,以便在句点分隔符上得到不同的向后 拆分组合。基本上,如果我只以第一个字符串为例,我想得到:

['C04.123.123.123', 'C04.123.123', 'C04.123', 'C04']

我怎样才能做到这一点?我试过研究 itertools.combinations 和标准拆分功能,但没有成功。

最佳答案

一行,易于理解(不太容易调整 :)),使用 str.rsplit 和 maxsplit 逐渐增加到点数:

lst = ['C04.123.123.123', 'C03.456.456.456', 'C05.789.789.789']

result = [x.rsplit(".",i)[0] for x in lst for i in range(x.count(".")+1) ]

结果:

['C04.123.123.123',
'C04.123.123',
'C04.123',
'C04',
'C03.456.456.456',
'C03.456.456',
'C03.456',
'C03',
'C05.789.789.789',
'C05.789.789',
'C05.789',
'C05']

唯一让我烦恼的是,它多次调用 split 只是为了保留第一个元素。太糟糕了,没有我们可以调用 next 的内置惰性 split 函数。

关于python - 如何使用向后组合迭代拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53620836/

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