私は文字列が"1-3 6:10-11 7-9"
であり、それらから次のように数字セットを作成したいと考えています。{1,2,3,6,10,11,7,8,9}
番号の範囲からセットを作成するためのPython - 文字列からセットを作成する
が、私は次のコードを持っている:
def create_set(src):
lset = []
if len(src) > 0:
pos = src.find('-')
if pos != -1:
first = int(src[:pos])
last = int(src[pos+1:])
else:
return [int(src)] # Only one number
for j in range (first, last+1):
lset.append(j)
return set(lset)
をしかし、私は正しく治療する方法を見つけ出すことができません「:」それは、文字列で表示されたとき。誰か助けてくれますか?
ありがとうございます!
編集:ところで、おそらく正規表現を使用して、そのような文字列を解析するよりコンパクトな方法はありますか?
を、私は正規表現でそれを解析するために誘惑されるだろう - 私は専門家でないが、それは私がそれを行うだろう方法だろう - 「構文は」定期的のようですので、。 –
@xnx私の考えはちょうど –
なぜ6は結腸を持っていますか? –