この記事の内容は、Python がシーケンス内の要素をどのようにフィルタリングするかについてです。一定の参考値があります。必要な友人が参照できます。お役に立てれば幸いです。
1. 要件
シーケンスにはいくつかのデータが含まれており、特定の基準に従って値を抽出するか、シーケンスを削除する必要があります。
シーケンス内のデータをフィルター処理するには、通常、リスト内包表記を使用するのが最も簡単な方法です。
例:
myList=[1,4,-5,10,-7,2,3,-1] print([n for n in myList if n>0]) print([n for n in myList if n<p>結果: </p><pre class="brush:php;toolbar:false">[1, 4, 10, 2, 3] [-5, -7, -1]
リスト内包表記を使用する場合の潜在的な欠点は、元の入力が非常に大きい場合に、リスト内包表記を使用すると、の巨大な結果。これが考慮する必要がある問題である場合は、ジェネレータ式を使用して、反復メソッドを通じてフィルタリング結果を生成できます。次に例を示します。
myList=[1,4,-5,10,-7,2,3,-1] pos=(n for n in myList if n >0) for x in pos: print(x)
結果:
1 4 10 2 3
フィルタリング基準を使用できない場合があります。リスト内包表記またはジェネレーター式で単純に表現されます。例: スクリーニング プロセスに例外処理やその他の複雑な詳細が含まれるとします。これに基づいて、フィルタリング ロジックを処理するコードを別の関数に配置し、組み込みの filter() 関数を使用してそれを処理できます。例は次のとおりです:
values=['1','2','-3','-','4','N/A','5'] def is_int(val): try: x=int(val) return True except ValueError: return False ivals=list(filter(is_int,values)) print(ivals)
Result:
['1', '2', '-3', '4', '5']
filter() イテレータが作成されるため、結果をリストとして取得したい場合は、例のように list() を必ず含めてください。
3. 分析リスト内包表記とジェネレータ式は、通常、データをフィルタリングする最も簡単かつ直接的な方法です。さらに、データを同時に変換する機能もあります。例:
import math myList=[1,4,-5,10,-7,2,3,-1] print([math.sqrt(n) for n in myList if n>0])
結果:
[1.0, 2.0, 3.1622776601683795, 1.4142135623730951, 1.7320508075688772]
データのフィルタリングに関して、条件を満たさない値を破棄するのではなく、新しい値に置き換える状況があります。例えば。正の整数を見つけるだけでなく、指定された範囲内の要件を満たさない値を置換することもできます。多くの場合、これは、次のようにフィルター基準を条件式に移動することで簡単に実現できます。
myList=[1,4,-5,10,-7,2,3,-1] print([n if n>0 else 0 for n in myList]) print([n if n<p> 結果: </p><pre class="brush:php;toolbar:false">[1, 4, 0, 10, 0, 2, 3, 0] [0, 0, -5, 0, -7, 0, 0, -1]
言及する価値のあるもう 1 つのフィルター ツールは、itertools .compress() です。反復可能であり、入力としてのブールセレクターのシーケンス。出力では、対応するブール セレクターで True であるすべての反復可能なオブジェクト要素が与えられます。これは、あるシーケンスのフィルターの結果を別の関連するシーケンスに適用する場合に便利です。
例:
from itertools import compress address=[ '5412 N CLARK1', '5148 N CLARK2', '5800 E CLARK3', '2122 N CLARK4', '5645 M CLARK5', '1060 W CLARK6', ] counts=[0,3,10,4,1,7] #构建一个列表,它相应的count值要大于5 more5=[n>5 for n in counts] print(more5) print(list(compress(address,more5)))
結果:
[False, False, True, False, False, True] ['5800 E CLARK3', '1060 W CLARK6']
ここで重要なのは、まずどの要素が条件を満たすかを表すブール シーケンスを作成してから、compress() 関数を作成することです。ブール値が True である対応する要素を選択します。
filter() 関数と同様に、compress() は通常の状況ではイテレータを返します。したがって、必要に応じて、 list() を使用して結果をリストに変換する必要があります。
以上がPython でシーケンス内の要素をフィルターする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Arraysinpython、特にvianumpy、arecrucialinscientificComputing fortheirefficienty andversitility.1)彼らは、fornumericaloperations、data analysis、andmachinelearning.2)numpy'simplementation incensuresfasteroperationsthanpasteroperations.3)arayableminablecickick

Pyenv、Venv、およびAnacondaを使用して、さまざまなPythonバージョンを管理できます。 1)Pyenvを使用して、複数のPythonバージョンを管理します。Pyenvをインストールし、グローバルバージョンとローカルバージョンを設定します。 2)VENVを使用して仮想環境を作成して、プロジェクトの依存関係を分離します。 3)Anacondaを使用して、データサイエンスプロジェクトでPythonバージョンを管理します。 4)システムレベルのタスク用にシステムPythonを保持します。これらのツールと戦略を通じて、Pythonのさまざまなバージョンを効果的に管理して、プロジェクトのスムーズな実行を確保できます。

numpyarrayshaveveraladvantages-averstandardpythonarrays:1)thealmuchfasterduetocベースのインプレンテーション、2)アレモレメモリ効率、特にlargedatasets、および3)それらは、拡散化された、構造化された形成術科療法、

パフォーマンスに対する配列の均一性の影響は二重です。1)均一性により、コンパイラはメモリアクセスを最適化し、パフォーマンスを改善できます。 2)しかし、タイプの多様性を制限し、それが非効率につながる可能性があります。要するに、適切なデータ構造を選択することが重要です。

craftexecutablepythonscripts、次のようになります

numpyarraysarasarebetterfornumeroperations andmulti-dimensionaldata、whilethearraymoduleissuitable forbasic、1)numpyexcelsinperformance and forlargedatasentassandcomplexoperations.2)thearraymuremememory-effictientivearientfa

NumPyArraySareBetterforHeavyNumericalComputing、whilethearrayarayismoreSuitableformemory-constrainedprojectswithsimpledatatypes.1)numpyarraysofferarays andatiledance andpeperancedatasandatassandcomplexoperations.2)thearraymoduleisuleiseightweightandmemememe-ef

ctypesallowsinging andmanipulatingc-stylearraysinpython.1)usectypestointerfacewithclibrariesforperformance.2)createc-stylearraysfornumericalcomputations.3)passarraystocfunctions foreffientientoperations.how、how、becuutiousmorymanagemation、performanceo


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

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

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









