def PrintStr(str_content):
str_list = str_content.split(',')
a = 0
b = 0
c = 1
new_str_list = []
# 获取数据并筛选和排序
for st in str_list:
# 不包含'~'则必然不包含'x'
if '~' not in st:
new_str_list.append(int(st))
# 包含'x'则必然包含'~'
if 'x' in st:
ab, c = st.strip().split('x')
a, b = ab.split('~')
elif '~' in st:
a, b = st.strip().split('~')
if a or b:
for i in range(int(a), int(b), int(c)):
new_str_list.append(i)
# 排序 去重
new_str_list = sorted(set(new_str_list))
# 打印
data = ''
all_data = ''
for ids, val in enumerate(new_str_list):
if len(data.split(','))<=3 and ids<len(new_str_list)-1:
if val == new_str_list[ids + 1] - 1:
data += str(val) + ','
else:
data += str(val) + ','
else:
all_data += data + '\n'
data = '' + str(val) + ','
all_data += data
print(all_data)
if __name__ == "__main__":
str_content = '2, -3~2, 2~10x3'
PrintStr(str_content)