私は他のさまざまな投稿を探し回っていますが、役立つヒントがいくつかありますが、私と同様の問題が見つからなかったので、質問しようと思いました. 次のリストを生成しました。
data2 = ['AN1_OUT,24','AN2_OUT,13','AN3_OUT,14','AN4_OUT,15']
私がやりたいのは、設定 (AN1_OUT など) とそれに付随する値 (2,13 など) を特定することです。この設定を知る必要があるだけなので、古き良き「if-elif」を使用して設定を正常に識別しましたが、値を分離する必要があります。これまでのところ、私は使用しています:
data3 = re.findall('[0-9]{2}',data2[i])
byte1 = map(lambda n: int(n[:2]),data3)
これは、data2 リスト (この例では 4) のすべての要素を処理する for ループにあります。「i」ごとに、次の結果が得られます。
[24]
[13]
[14]
[15]
これが私が期待することであることはわかっていますが、値が次のような1桁の場合に問題が発生します。
'AN1_OUT,2'
この場合、その値を見逃してしまい、出力されません。data3 関数の正規表現を次のように変更してみました。
data3 = re.findall('[0-9]{1,2}',data2[i])
ただし、これの問題は、AN1_OUT、AN2_OUT などの数字を取得することです。そのため、次のようになります。
[1,2]
[2,13]
[3,14]
[4,15]
私はそれを解決するためにさまざまな方法を見てきましたが、それは非常にとらえどころのないものです。どんな助けでも大歓迎です。