私は以下の形式の文字列を持っています:
00:aa:bb:cc:dd:ee
それを分割して、最初の3つのフィールド、つまり00:aa:bbのみを出力する必要があります。使ってます
s.split(':')[1:3]
私のプログラムではその仕事をしますが、それは役に立ちません。これを行う正しい方法ですか?
私は以下の形式の文字列を持っています:
00:aa:bb:cc:dd:ee
それを分割して、最初の3つのフィールド、つまり00:aa:bbのみを出力する必要があります。使ってます
s.split(':')[1:3]
私のプログラムではその仕事をしますが、それは役に立ちません。これを行う正しい方法ですか?
ほとんど:Pythonは0インデックスです(0から数えます):
>>> s = '00:aa:bb:cc:dd:ee'
>>> s.split(":")
['00', 'aa', 'bb', 'cc', 'dd', 'ee']
>>> s.split(":")[0:3]
['00', 'aa', 'bb']
>>> s.split(":")[:3]
['00', 'aa', 'bb']
そして、あなたはそれらを再結合することができます:
>>> ':'.join(s.split(":")[:3])
'00:aa:bb'
それが問題である場合、Pythonスライシングがどのように機能するかについての簡単なレビューのためにこの質問を見ることができます。
それが役に立たないというのはどういう意味ですか?結果がリストだからですか?文字列に戻すには、次のことを試してください。
':'.join(s.split(':')[0:3])
ゼロインデックスにも注意してください。