我如何在 python 中修复这个语法错误?

时间:2021-06-26 19:28:10

标签: python-3.x

a='1,4,6,7-9,10,12-15'
print(*[j for i in a.split(",") if "-" in i for j in range(int(i.split("- 
")[0]),(int(i.split("-")[1])+1)) else i])

其他部分的语法错误

1 个答案:

答案 0 :(得分:1)

else 子句本身不可用,但您不需要它:

  • 您可以将每个逗号分隔的部分提供给一个范围,如果数字是连续的,则结果中将只有数字,因此这适用于非范围值
  • 您可以使用负偏移量从非范围中获取第二个数字
print(
    *[
        j
        for i in a.split(",")
        for j in range(int(i.split("-")[0]),(int(i.split("-")[-1])+1))
    ]
)

输出:

1 4 6 7 8 9 10 12 13 14 15