用列表理解法划分字符串



我正在尝试获取一个字符串列表:

string = "A1B3C3D4"
list = ["A1","B2","C3","D4"]

实现这一目标的蟒蛇方式是什么?

提前感谢

您可以使用re.findall在给定字符串中查找模式[A-Z]d的所有不重叠匹配项。

import re
regex = r"[A-Z]d"
string = "A1B3C3D4"
result = re.findall(regex, string)
print(result)

输出:

['A1', 'B3', 'C3', 'D4']

您可以在您的列表中使用re.findall协同理解:

import re
lst = [x for x in re.findall(r"[A-Z]d", string)]

执行上述代码后,您将得到:

lst = ['A1', 'B3', 'C3', 'D4']

也许你可以使用这个例子:


word = 'CatBatSatFatOr'
print([word[i:i+3] for i in range(0, len(word), 3)])
Output:
['Cat', 'Bat', 'Sat', 'Fat', 'Or']

最新更新