1. ホーム
  2. python

Pythonのforループ

2023-08-23 05:46:41

質問

C/C++では、以下のようなループが可能です。

for(int k = 1; k <= c ; k +=2)

Pythonで同じことをするには?

私はこれを行うことができます

for k in range(1,c):

Pythonでは、これは次のように同じになります。

for(int k = 1; k <= c ; k++)

をC/C++で表示します。

どのように解決するのですか?

Pythonでは、整数のインデックスを反復処理することは悪いスタイルであり、また代替案よりも遅いことも知っておく必要があります。リストやディクショナリの各項目を見たいだけなら、リストやディクショナリを直接ループしてください。

mylist = [1,2,3]
for item in mylist:
    print item

mydict  = {1:'one', 2:'two', 3:'three'}
for key in mydict:
    print key, mydict[key]

これは、上記のコードを range() で使うよりも実際に速く、また余計な i 変数が削除されます。

リストの項目をインプレースで編集する必要がある場合、次のようにします。 する はインデックスを必要としますが、まだ良い方法があります。

for i, item in enumerate(mylist):
    mylist[i] = item**2

繰り返しになりますが、これはより速く、より読みやすいと考えられています。 これは、C++からPythonに移行する際に必要な考え方の主な転換点の1つです。