我有一个字符串,包含一系列数字。我需要知道该范围内有多少元素。棘手的部分是,它可能是连字符分隔的数字范围或单个逗号分隔数字的组合。一些具有预期计数的示例:
"1-10,12,14,16" : 13
"8,14,0-5" : 8
"0-32" : 33
"1-5,10-15" : 11
给定的值不会有任何重叠,因此我不必考虑这一点。(例如,您不会看到“1-10,5,6”)
这似乎是Python应该能够轻松完成的事情,但我不知道如何以Pythonic方式做到这一点。我怎样才能完成这个任务?
我目前拥有的:
count = 0
range = "1,2,3-4"
for a_range in ranges:
if "-" in a_range:
first,last = a_range.split("-")
amt = int(last) - int(first) +1
else:
amt = 1
count += amt
print(count)
aluckdog
摇曳的蔷薇
PIPIONE
相关分类