目次
リスト内包表記を使用したリストのコピー
リスト内の要素を乗算する
リストからの要素の削除
2 つのリストを辞書のキーと値のペアに変換するには、dict() を使用します。
概要
ホームページ バックエンド開発 Python チュートリアル コードをより効率的にするための 4 つの Python 演繹的開発テクニック

コードをより効率的にするための 4 つの Python 演繹的開発テクニック

Apr 22, 2023 am 09:40 AM
python スキル 開発する

データ サイエンスの場合、通常、Python はデータの処理と変換に広く使用されています。Python は、データ処理をより柔軟にするための強力なデータ構造処理関数を提供します。ここでの「柔軟性」とは何を意味しますか?

これは、 Python では同じ結果を達成するには常に複数の方法がありますが、常にさまざまな方法があり、使いやすく、時間を節約し、より適切に制御できる方法を選択する必要があります。

これらの方法をすべてマスターすることは不可能です。そこで、あらゆる種類のデータを扱うときに知っておくべき Python の 4 つのヒントのリストをここに示します。

コードをより効率的にするための 4 つの Python 演繹的開発テクニック

リスト内包表記 リスト内包表記は、リストを作成するためのエレガントで最も Python フレンドリーな方法です。 for ループや if ステートメントと比較すると、リスト内包表記では、既存のリストの値に基づいて新しいリストを作成するための構文がはるかに短くなります。それでは、この機能がリストのコピーをどのように取得するかを見てみましょう。

リスト内包表記を使用したリストのコピー

既存のリストのコピーを作成する必要がある場合があります。最も単純な答えは .copy() です。これを使用すると、あるリストの内容を別の (新しい) リストにコピーできます。

たとえば、整数のリストoriginal_list。

original_list = [10,11,20,22,30,34]
ログイン後にコピー

このリストは、.copy() メソッドを使用して簡単にコピーできます。

duplicated_list = original_list.copy()
ログイン後にコピー

リスト内包表記はまったく同じ出力を取得できます。リストのコピーは、リストの内包理解を理解するための良い例です。

以下のコードを見てください。

duplicated_list = [item for item in original_list]
ログイン後にコピー

これは、リストをコピーするときにリスト内包表記を使用する方が良いと言っているわけではありませんが、このケースがリスト内包表記の作業方法を導入するのに最適であると言っているのです。

次に、リストの内包表記によって、リストの各要素に対して数学的演算を実行する際の作業がどのように簡単になるかを見てみましょう。

リスト内の要素を乗算する

乗算の最も簡単または直接的な方法は、乗算演算子を使用することです。これは、*

たとえば、スカラー (つまり、数値 5) リスト内の各項目を乗算します。ここでは、リストのコピーが 5 つ作成されるため、original_list*5 を使用することはできません。

このシナリオでは、次に示すように、リスト内包表記が最適な答えになります。

original_list = [10,11,20,22,30,34]
 multiplied_list = [item*5 for item in original_list]
 
 # Output
 [50, 55, 100, 110, 150, 170]
ログイン後にコピー

ここでの演算は数値の乗算に限定されません。元のリストの各要素に対して複雑な操作を実行できます。

たとえば、各項の平方根の 3 乗を計算するとします。これは 1 行で解決できます。

multiplied_list = [math.sqrt(item)**3 for item in original_list]
 
 # Output
 [31.6227766016838,
36.4828726939094,
89.4427190999916,
103.18914671611546,
164.31676725154983,
198.25236442474025]
ログイン後にコピー

数値の平方根の計算に使用される関数 sqrt はライブラリ math に属しているため、この例で使用する前にインポートする必要があります。

上記の組み込み関数と同様に、リストの各要素でユーザー定義関数を使用することもできます。

たとえば、次のような単純な関数です。

def simple_function(item):
item1 = item*10
item2 = item*11
return math.sqrt(item1**2 + item2**2)
ログイン後にコピー

このユーザー定義関数は、リスト内の各項目に適用できます。

multiplied_list = [simple_function(item) for item in original_list]
 
 # Output
 [148.66068747318505,
163.52675622050356,
297.3213749463701,
327.0535124410071,
445.9820624195552,
505.4463374088292]
ログイン後にコピー

リスト内包表記は、実際のシナリオではさらに役立ちます。通常、分析タスクでは、nan 要素を削除するなど、リストから特定の種類の要素を削除する必要があります。リスト内包表記は、これらのタスクに最適なツールです。

リストからの要素の削除

特定の基準に基づいてデータをフィルタリングすることは、目的のデータ セットを選択する一般的なタスクの 1 つであり、同じロジックがリスト内包表記でも使用されます。

以下に示す数値のリストがあるとします。

original_list = [10, 22, -43, 0, 34, -11, -12, -0.1, 1]
ログイン後にコピー

このリストからは正の値のみを保持したいとします。したがって、論理的には、条件項目 > 0 について TRUE と評価される項目のみを保持したいと考えます。

new_list = [item for item in original_list if item > 0]
 
 # Output
 [10, 22, 34, 1]
ログイン後にコピー

if 句は負の値を削除するために使用されます。 if 句を使用して任意の条件を適用し、リストから任意の項目を削除できます。

たとえば、平方が 200 未満の項目をすべて削除したい場合は、以下のようにリスト合成で条件項目 **2 > 200 を指定するだけです。

new_list = [item for item in original_list if item**2 > 200]
 
 # Output
 [22, -43, 34]
ログイン後にコピー

実際のデータ セットを扱う場合、リスト項目をフィルタリングするための条件ははるかに複雑になる可能性がありますが、この方法は高速で理解しやすいです。

2 つのリストを辞書のキーと値のペアに変換するには、dict() を使用します。

2 つのリストの値から辞書を作成する必要がある場合があります。それらを 1 つずつ入力する代わりに、辞書内包表記 (dictionary comprehension) を使用できます。これは、辞書を作成するためのエレガントで簡潔な方法です!

Itはリスト内包表記とまったく同じように機能しますが、唯一の違いは、リスト内包表記を作成する場合は、すべてを [] などの角括弧で囲みますが、辞書内包表記では、すべてを中括弧で囲みます ({} など)。

以下に示すように、フィールドと詳細という 2 つのリストがあるとします。

fields = [‘name’, ‘country’, ‘age’, ‘gender’]
 details = [‘pablo’, ‘Mexico’, 30, ‘Male’]
ログイン後にコピー

簡単な方法は、次のような辞書内包表記を使用することです -

new_dict = {key: value for key, value in zip(fields, details)}
 
 # Output
 {'name': 'pablo', 'country': 'Mexico', 'age': 30, 'gender': 'Male'}
ログイン後にコピー

ここで理解することが重要なのは、関数 zip がどのように機能するかです。

Python では、zip 関数は文字列、リスト、辞書などの反復可能なオブジェクトを入力として受け取り、それらをタプルに集約して返します。

つまり、この場合、zip はリスト フィールドと詳細から各項目のペアを形成します。辞書内包表記で key:value を使用する場合は、このタプルを個々のキーと値のペアに解凍するだけです。

Python の組み込み dict() コンストラクター (辞書作成用) を使用すると、dict() は辞書内包表記より少なくとも 1.3 倍高速になるため、このプロセスはさらに高速になります。

したがって、このコンストラクターを zip() 関数で使用する必要があります。その構文ははるかに単純です - dict(zip(fields,details))

概要

で述べたように、まず、Python は同じ結果を達成する方法が複数あるため、非常に柔軟です。タスクの複雑さに応じて、それを達成するための最適な方法を選択する必要があります。

この記事があなたのお役に立てれば幸いです。この記事で述べたのと同じことを行う別の方法がある場合は、お知らせください。

以上がコードをより効率的にするための 4 つの Python 演繹的開発テクニックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Sublime Code Pythonを実行する方法 Sublime Code Pythonを実行する方法 Apr 16, 2025 am 08:48 AM

PythonコードをSublimeテキストで実行するには、最初にPythonプラグインをインストールし、次に.pyファイルを作成してコードを書き込み、Ctrl Bを押してコードを実行する必要があります。コードを実行すると、出力がコンソールに表示されます。

vscodeでコードを書く場所 vscodeでコードを書く場所 Apr 15, 2025 pm 09:54 PM

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

Visual StudioコードはPythonで使用できますか Visual StudioコードはPythonで使用できますか Apr 15, 2025 pm 08:18 PM

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

メモ帳でPythonを実行する方法 メモ帳でPythonを実行する方法 Apr 16, 2025 pm 07:33 PM

メモ帳でPythonコードを実行するには、Python実行可能ファイルとNPPEXECプラグインをインストールする必要があります。 Pythonをインストールしてパスを追加した後、nppexecプラグインでコマンド「python」とパラメーター "{current_directory} {file_name}"を構成して、メモ帳のショートカットキー「F6」を介してPythonコードを実行します。

See all articles