Python の 6 つの魔法の組み込み関数
人生は短い、初心者は Python を学びましょう!
私は新人の兄弟です。今日は、6 つの魔法の組み込み関数を一度に共有します。多くのコンピューター書籍では、通常、これらは高階関数としても紹介されています。日々の仕事でも、コードをより速く理解しやすくするためにこれらを使用することがよくあります。
Lambda 関数
Lambda 関数は、匿名関数、つまり名前のない関数を作成するために使用されます。これは単なる式であり、関数本体は def よりもはるかに単純です。匿名関数は、単一の操作を実行し、1 行で記述できる関数を作成する必要がある場合に使用されます。
lambda [arg1 [,arg2,.....argn]]:expression
ラムダの本体は式であり、コード ブロックではありません。ラムダ式にカプセル化できるロジックは限られています。例:
lambda x: x+2
def で定義された関数をいつでも呼び出したい場合は、ラムダ関数をそのような関数オブジェクトに割り当てることができます。
add2 = lambda x: x+2 add2(10)
出力結果:
Lambda 関数を使用すると、コードを大幅に簡略化できます。別の例を次に示します。
上の図に示すように、ラムダ関数を使用した 1 行のコードで結果リスト newlist が生成されます。
マップ関数
map() 関数は、関数を入力リストのすべての要素にマップします。
map(function,iterable)
たとえば、最初に大文字の入力単語を返す関数を作成し、次にこの関数をリストの色のすべての要素に適用します。
def makeupper(word): return word.upper() colors=['red','yellow','green','black'] colors_uppercase=list(map(makeupper,colors)) colors_uppercase
出力結果:
さらに、匿名関数 lambda を使用して、map 関数と連携することもでき、より効率化できます。
colors=['red','yellow','green','black'] colors_uppercase=list(map(lambda x: x.upper(),colors)) colors_uppercase
Map 関数を使用しない場合は、for ループを使用する必要があります。
#上図に示すように、実際に使用すると、Map 関数は要素を順番に列挙する for ループ方式に比べて 1.5 倍高速になります。
Reduce 関数
Reduce() は、リストに対して計算を実行して結果を返す必要がある場合に非常に便利な関数です。たとえば、整数のリストのすべての要素の積を計算する必要がある場合は、reduce 関数を使用できます。 [1]
これと関数の最大の違いは、reduce() のマッピング関数 (関数) が 2 つのパラメーターを受け取るのに対し、map は 1 つのパラメーターを受け取ることです。
reduce(function, iterable[, initializer])
次に、例を使用して、reduce() のコード実行プロセスを示します。
from functools import reduce def add(x, y) : # 两数相加 return x + y numbers = [1,2,3,4,5] sum1 = reduce(add, numbers) # 计算列表和
結果 sum1 = 15 が得られ、コードの実行プロセスは以下のアニメーションに示されています。
▲コード実行プロセスのアニメーション
上の図と組み合わせると、reduce が加算関数 add() を list[1 , 2,3,4,5] の場合、マッピング関数は 2 つのパラメーターを受け取り、reduce() はリストの次の要素で結果を累積し続けます。
さらに、匿名関数 lambda を使用して、reduce 関数と連携することもでき、より合理化できます。
from functools import reduce numbers = [1,2,3,4,5] sum2 = reduce(lambda x, y: x+y, numbers)
出力 sum2= 15 が得られます。これは前の結果と一致します。
注:reduce() は Python 3.x [2] 以降 functools モジュールに移動されました。これを使用したい場合は、 functools import reduce からインポートする必要があります。
enumerate 関数
enumerate() 関数は、データとデータ添え字をリストしながら、走査可能なデータ オブジェクト (リスト、タプル、文字列など) をインデックス シーケンスに結合するために使用されます。ループします。その構文は次のとおりです:
enumerate(iterable, start=0)
2 つのパラメータ、1 つはシーケンス、イテレータ、または反復をサポートするその他のオブジェクトで、もう 1 つは添え字の開始位置であり、デフォルトでは 0 から始まります。カウンタの開始番号を定義してから使用されます。
colors = ['red', 'yellow', 'green', 'black'] result = enumerate(colors)
色を格納するカラーリストがある場合、実行後に列挙オブジェクトを取得します。 forループ内で直接使用することも、リストに変換して使用することもできますが、具体的な使い方は以下の通りです。
rreeeeZip 函数
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表[3]。
我们还是用两个列表作为例子演示:
colors = ['red', 'yellow', 'green', 'black'] fruits = ['apple', 'pineapple', 'grapes', 'cherry'] for item in zip(colors,fruits): print(item)
输出结果:
当我们使用zip()函数时,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
prices =[100,50,120] for item in zip(colors,fruits,prices): print(item)
Filter 函数
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表,其语法如下所示[4]。
filter(function, iterable)
比如举个例子,我们可以先创建一个函数来检查单词是否为大写,然后使用filter()函数过滤出列表中的所有奇数:
def is_odd(n): return n % 2 == 1 old_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] new_list = filter(is_odd, old_list) print(newlist)
输出结果:
今天分享的这6个内置函数,在使用 Python 进行数据分析或者其他复杂的自动化任务时非常方便。
以上がPython の 6 つの魔法の組み込み関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

NGINXのインストールをインストールするには、次の手順に従う必要があります。開発ツール、PCRE-Devel、OpenSSL-Develなどの依存関係のインストール。 nginxソースコードパッケージをダウンロードし、それを解凍してコンパイルしてインストールし、/usr/local/nginxとしてインストールパスを指定します。 nginxユーザーとユーザーグループを作成し、アクセス許可を設定します。構成ファイルnginx.confを変更し、リスニングポートとドメイン名/IPアドレスを構成します。 nginxサービスを開始します。依存関係の問題、ポート競合、構成ファイルエラーなど、一般的なエラーに注意する必要があります。パフォーマンスの最適化は、キャッシュをオンにしたり、ワーカープロセスの数を調整するなど、特定の状況に応じて調整する必要があります。

VSコードは、Microsoftが開発した無料のオープンソースクロスプラットフォームコードエディターと開発環境であるフルネームVisual Studioコードです。幅広いプログラミング言語をサポートし、構文の強調表示、コード自動完了、コードスニペット、および開発効率を向上させるスマートプロンプトを提供します。リッチな拡張エコシステムを通じて、ユーザーは、デバッガー、コードフォーマットツール、GIT統合など、特定のニーズや言語に拡張機能を追加できます。 VSコードには、コードのバグをすばやく見つけて解決するのに役立つ直感的なデバッガーも含まれています。
