为什么我的循环停止迭代?

时间:2017-11-08 01:14:54

标签: python

one

为什么循环不继续并像第一个组合元素一样操纵列表?

2 个答案:

答案 0 :(得分:4)

您可以使用正则表达式查找括号中的字符组或仅查找单个字符。正则表达式将返回匹配元组 - 匹配正则表达式的每一侧'或'(|)。对于每个元组,只会填充一个字符串,另一个将是一个空字符串(因此join

import re

mystring = 'AC[BC]D[ABD]'
[''.join(x) for x in re.findall(r'\[(\w+)\]|(\w)', mystring)]
# returns:
['A', 'C', 'BC', 'D', 'ABD']

答案 1 :(得分:0)

您可以使用regex

import re
mystring = 'AC[BC]D[ABD]'
final_data = re.findall('(?<=\[)\w+(?=\])|\w', mystring)

输出:

['A', 'C', 'BC', 'D', 'ABD']