Cでは、C++と同様に、forループの変更でインデックス(たとえば、i
)を使用できます。今、私はこれが(variousreasonsのために)Pythonで実行することはできません知っているPythonの配列[++ i]と配列[i ++]に相当するコードはありますか?
for(int i = 0; i < end; i++)
if(array[i] == ':')
if(array[++i] == ')')
smileyDetected = true;
:これは、次の要素を比較し、たとえば、現在の要素を比較し、その比較に基づいて、に役立ちます。しかし、私はPythonのための短い選択肢があるのかどうか疑問に思っていませんか?しかし、これは私にあなたが同じ複数回(「読みにくくは」長いファイルを有することを意味しませんでした)んまでそんなに悪く聞こえない余分なラインを、コスト
while i < end:
if array[i] == ':':
i += 1
if array[i] == ')':
smileyDetected = True;
:私が思い付くことができます。 1行に入れるには、 array[i += 1]
のようなものが考えられますが、これは無効な構文です。
インクリメントされたインデックスを読み出すのと同じ行にインデックスのインクリメントを行うPythonの同等物はありますか?
EDIT:
ほとんどの答えは、特定の例のための代替として、部分文字列を検索しin
を使用して言及したように私は、このような方法で解けることはない別の例を追加してみましょう。
j = 0;
for(int i = 0; i < end; i++)
if(array[i] == ':')
if(array[++i] == ')')
anotherArray[j++] = array[++i];
それは、インデックスの増分であり、特定の文字列の検索ではありません。
なぜあなたは文字のペア*で文字列を反復しませんか? – jonrsharpe
配列にC文字列がなく、 ':'が最後の文字である場合、C/C++は未定義の動作を示します。 –
'array'が文字列の場合、' smiley_detected = ':)を 'array'に書くだけです。このような – kennytm