MST

星途 面试题库

面试题:Python中复杂限定模式下split分隔字符串处理

有一个字符串 '1-2,3;4|5,6-7;8|9',需求如下:首先以竖线 '|' 作为分隔符进行分割,然后对分割后的每个子字符串,再以逗号 ',' 作为分隔符进行分割,最后对这些新的子字符串,以短横线 '-' 作为分隔符分割,并将所有最终得到的数字转换为整数后组成一个列表。请用Python代码实现。
49.7万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
s = '1-2,3;4|5,6-7;8|9'
result = []
for part1 in s.split('|'):
    for part2 in part1.split(','):
        if '-' in part2:
            start, end = part2.split('-')
            result.extend(range(int(start), int(end)+1))
        else:
            result.append(int(part2))
print(result)