📌  相关文章
📜  转换字符串范围列表 python (1)

📅  最后修改于: 2023-12-03 14:57:50.524000             🧑  作者: Mango

转换字符串范围列表 python

在Python中,我们经常需要将字符串类型的范围列表转换为实际的范围列表。例如,如果我们有一个字符串“1-5,8,10-12”,我们可能需要将其转换为实际的范围列表[1,2,3,4,5,8,10,11,12]。

以下是一个Python函数,演示了如何将字符串类型的范围列表转换为实际的范围列表。

def string_range_to_list(s):
    ranges = s.split(",")
    res = []
    for r in ranges:
        if "-" in r:
            start, end = map(int, r.split("-"))
            res.extend(range(start, end + 1))
        else:
            res.append(int(r))
    return res

这个函数将字符串s分割成多个范围,并使用循环遍历每个范围。如果范围中包含横杠“-”,则将其分割成起始值和结束值,并使用range()函数将其转换为实际的范围,最后使用extend()函数将所有范围添加到结果列表中。否则,如果范围中不包含横杠“-”,则将其转换为整数并添加到结果列表中。

以下是一个示例:

s = "1-5,8,10-12"
print(string_range_to_list(s))
# 输出: [1, 2, 3, 4, 5, 8, 10, 11, 12]

这个函数可以处理任何范围列表字符串类型的输入,在实际中也非常有用。 您可以将其集成到任何Python程序中。

希望这篇介绍能够帮助你了解如何在Python中转换字符串范围列表。