ホームページ  >  記事  >  バックエンド開発  >  時間を節約する Python の 3 つのヒント!

時間を節約する Python の 3 つのヒント!

王林
王林転載
2023-04-12 14:25:181398ブラウズ

時間を節約する Python の 3 つのヒント!

私の最近の仕事内容は、ファイルの自動移動、画像処理、データクリーニングです。コードをすっきりと理解しやすくするために、プログラミング プロセス中に Python のヒントをいくつかまとめました。次に、時間を節約する Python の 3 つのヒントを紹介します。

時間を節約する Python の 3 つのヒント!

リストを反転する

最近、リストを反転する必要があるプロジェクトがありました。これは最初はスライスによって行われていました。しかし実際には、Python では組み込み関数 reverse() メソッドを使用してリストを反転することもできます。

まずリストを作成します。

# 创建一个列表
mylist = list(np.arange(0,100))

リストを反転するには 2 つの方法があります:

# 使用切片反转列表
newlist = mylist[::-1]

# 使用内置的 reverse() 反转列表
mylist.reverse()

どちらの方法でもリストを反転できますが、組み込み関数 reverse() は元のリストを変更し、スライス方法は、新しいリストを作成することです。

実行時間 ⏳

時間を節約する Python の 3 つのヒント!

reverse() とリスト スライスの実行時間を比較しましょう

明らかに、組み込み関数はreverse() はリスト スライス メソッドより 3 倍高速です。

私の仕事プロジェクトでは、システム ファイルの自動移動を実現するために、場所の値のリストを作成しました。初期の Python プログラムはリスト スライスを使用して作成されていましたが、プログラムの実行を高速化するために reverse() 関数を使用するようにコードを書き直しました。

それでは、2 番目のテクニックを紹介しましょう。

1 行のコードで 2 つの値を交換する

1 行のコードで 2 つの変数値を交換するのは、真に Python 的な方法です。

他のプログラミング言語とは異なり、Python では 2 つの数値または値を交換するために一時変数を使用する必要がありません。簡単な例を見てみましょう:

# 创建两个变量
variable_1 = 100 
variable_2 = 500

variable_1 と variable_2 の値を交換するには、1 行のコードを使用するだけです。

变量_2,变量_1 = 变量_1,变量_2

1 行のコードを使用して 2 つの値を交換します。これは次の形式に簡略化されます。

時間を節約する Python の 3 つのヒント!

もちろん、私の実際の作業プロジェクトはこれより少し複雑で、各キーの値としてリストを含む辞書を使用します。

md[key_2],md[key_1] = md[key_1],md[key_2]

上記の手法により、私の作業では複数の反復と複雑なデータ変換が節約され、実行時間が短縮されます。

関数内での for ループの使用

私たちは皆、独自のタスクを実行するカスタム関数を作成することを好みます。次に、for ループを使用してこれらの関数を反復し、タスクを複数回繰り返します。

ただし、for ループ内で関数を使用すると、関数が反復ごとに呼び出されるため、実行に時間がかかります。

対照的に、for ループが関数内に実装されている場合、関数は 1 回だけ呼び出されます。

よりわかりやすく説明するために、例を挙げてみましょう。

最初に単純な文字列リストを作成します。

listofstrings = ['苹果','橙子','香蕉','菠萝','葡萄']

関数の内側と外側に for ループを含む 2 つの関数を作成し、単純なものから始めます。

# 在函数内部创建一个没有for循环的函数
def onlyfunction(x):
    newstring = x.capitalize()
    outputstring = x + " " + newstring
    print(outputstring)

そして、for 内にループを含む関数。

# 创建一个函数,其中 for 循环在函数内部
def forinfunction(listofstrings):
    for x in listofstrings:
        newstring = x.capitalize()
        outputstring = x + " " + newstring
        print(outputstring)

これらの関数を使用して出力を見てみましょう。

時間を節約する Python の 3 つのヒント!

明らかに、2 つの関数の出力結果は同じです。

しかし、話はここで終わりません。比べてみましょう、どちらが速いでしょうか?

時間を節約する Python の 3 つのヒント!

ご覧のとおり、関数内で for ループを使用すると、若干高速になります。

私の別のプロジェクトでは、多くの複雑な画像処理タスクを処理する必要があります。比較すると、関数内で for ループを使用すると、反復ごとに同じ関数を呼び出すより 1.5 倍高速になります。もちろん、これらは私の個人的な経験にすぎませんが、同じような状況に遭遇した場合に役立つかもしれません。

つまり、Python の組み込み関数をさらに活用できるようになります。コードを簡潔で理解しやすいものに保ちながら、Python プログラムの速度を向上させます。

Python の組み込み関数について詳しく知りたい場合は、以下の表を参照するか、次の Web サイトを確認してください:

https: //www.php.cn /link/3dfe2f633108d604df160cd1b01710db

時間を節約する Python の 3 つのヒント!

以上が時間を節約する Python の 3 つのヒント!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。