Самый простой вариант - попросить пользователя предоставить все значения в виде строк. Либо вводите их вручную в программу, либо записывайте их в текстовый файл по одному в строке. Таким образом, кавычки не будут необходимы.
Тем не менее, в python 3.8 вы можете использовать новый оператор моржа в выражении генератора, а затем объединить все диапазоны
import itertools as it
c = ['1001-1002','1005-1009','1010','1010-1025']
cx = (range(int(r[0]), int(r[1])) if len((r:=el.split('-')))>1 else [el] for el in c )
res = it.chain.from_iterable(cx)
print(list(res))
производит
[1001, 1005, 1006, 1007, 1008, '1010', 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024]
Примечание: я передаю верхний предел диапазона range
как есть. В случае, если это должно быть включено, увеличьте это на один
range(int(r[0]), int(r[1])+1)