0

夜、

これは必ずしも Pythonic であるとは限りません。ただし、これを適切にトリガーすることはできません。

私がやろうとしているのは、正しく行われている「レジスタ」の項目に 2 文字を一致させることですが、これらの 2 文字の後に空白があるかどうかを確認しようとしています。空白は、正しく取得されていないものです。私は構文を台無しにしているだけだと確信しています。どんな助けでも大歓迎です。

registers = ['R0','R1','R2','R3','R4','R5','R6','R7']
whiteSpace = ['\t', ' ']
if (item[idx +2] + item[idx +3]) in registers and (item[idx +4] in whiteSpace):
4

1 に答える 1

1

item何が間違っているか、またはインデックス ポインターを使用してそれをステップ実行する理由の例を見ないと、何が間違っているのかを判断するのは困難です。あなたが言うように、それが単なる文字列の場合、テストを次のように減らすことができます。

if item[:2] in registers and item[-1] in whiteSpace:

アイテムの長さが 3 文字であることを保証するか、その状態で別のガードを配置する必要があります。

余談ですが、この種の目的をより明確にするために、名前付きスライスを使用するのが好きです。

code = slice(0, 2)
spacer = slice(-1)

if item[code] in registers and item[spacer] in whiteSpace:
于 2012-10-02T05:04:45.597 に答える