Python リストの組み込みの sort() メソッドは並べ替えに使用されます。また、Python の組み込みのグローバルsorted() メソッドを使用して、反復可能なシーケンスを並べ替え、新しいシーケンスを生成することもできます。
#1) 並べ替えの基本
単純な昇順並べ替えは非常に簡単です。単にsorted()メソッドを呼び出すだけです。これは、要素が小なり演算子 (__lt__) に基づいて並べ替えられた新しいリストを返します。 コードは次のとおりです。>>> sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5]list.sort() メソッドを使用して並べ替えることもできます。この場合、リスト自体が変更されます。このメソッドは通常、sorted() よりも便利ではありませんが、元のリストを保持する必要がない場合は、このメソッドの方が効率的です。 コードは次のとおりです:
>>> a = [5, 2, 3, 1, 4] >>> a.sort() >>> a [1, 2, 3, 4, 5]もう 1 つの違いは、list.sort() メソッドが list 内でのみ定義されているのに対し、sorted() メソッドはすべての反復可能オブジェクトに対して有効であることです。シーケンス。 コードは次のとおりです:
>>> sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'}) [1, 2, 3, 4, 5]
2) キーパラメータ/関数
python2.4以降、list.sort()およびsorted () 関数 key パラメータは、各要素が比較される前に呼び出される関数を指定するために追加されます。たとえば、key で指定された関数では文字列の大文字と小文字を無視します: コードは次のとおりです:>>> sorted("This is a test string from Andrew".split(), key=str.lower) ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']key パラメータの値は関数です。この関数には 1 つのみがあります。パラメータを取得し、処理用の値を返します。この手法は、key で指定された関数が要素ごとに正確に呼び出されるため、高速です。 より一般的な使用例は、複雑なオブジェクトの特定の値を使用して、複雑なオブジェクトのシーケンスを並べ替えることです。たとえば: コードは次のとおりです:
>>> student_tuples = [ ('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10), ] >>> sorted(student_tuples, key=lambda student: student[2]) # sort by age [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]同じテクノロジーには、名前付き属性を持つ複雑なオブジェクトも適用できます。例: コードは次のとおりです:
>>> class Student: def __init__(self, name, grade, age): self.name = name self.grade = grade self.age = age def __repr__(self): return repr((self.name, self.grade, self.age)) >>> student_objects = [ Student('john', 'A', 15), Student('jane', 'B', 12), Student('dave', 'B', 10), ] >>> sorted(student_objects, key=lambda student: student.age) # sort by age [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
3) オペレーター モジュール関数
上記のキー パラメーターは非常に便利で広範囲にわたるため、Python ではメソッドへのアクセスをより簡単かつ迅速にするための便利な関数がいくつか提供されています。 Operatorモジュールにはitemgetter、attrgetterがあり、2.6からはmethodcallerメソッドが追加されました。これらのメソッドを使用すると、上記の操作がより簡潔かつ高速になります。 コードをコピーします。コードは次のとおりです。>>> from operator import itemgetter, attrgetter >>> sorted(student_tuples, key=itemgetter(2)) [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] >>> sorted(student_objects, key=attrgetter('age')) [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]演算子モジュールでは、たとえば、最初の複数レベルの並べ替えも可能です。学年順、年齢順に並べ替えます: コードをコピーします コードは次のとおりです:
>>> sorted(student_tuples, key=itemgetter(1,2)) [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)] >>> sorted(student_objects, key=attrgetter('grade', 'age')) [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]
4) 昇順と降順
list .sort() とsorted() は両方とも、昇順または降順の並べ替えを示すパラメーター reverse (True または False) を受け入れます。たとえば、上記の生徒を次のように降順に並べ替えます。 コードをコピーします。 コードは次のとおりです。>>> sorted(student_tuples, key=itemgetter(2), reverse=True) [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>> sorted(student_objects, key=attrgetter('age'), reverse=True) [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
以上がPythonで降順に使用される単語はどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

正規表現を使用して、最初の閉じたタグと停止に一致する方法は? HTMLまたは他のマークアップ言語を扱う場合、しばしば正規表現が必要です...

Investing.comの反クラウリング戦略を理解する多くの人々は、Investing.com(https://cn.investing.com/news/latest-news)からのニュースデータをクロールしようとします。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック



