Pythonの組み込み比較関数cmpの比較原理の解析

高洛峰
リリース: 2016-11-23 13:20:26
オリジナル
1267 人が閲覧しました

Pythonのcmp比較関数の比較原理

cmp(x, y): 2つのオブジェクトを比較し、前者が後者より小さい場合は-1を返し、等しい場合は0を返し、大きい場合は0を返します。後者の場合、1 を返します。

Python の cmp 比較関数の比較原理

Python の cmp 関数は、同じ型間または異なるデータ型間で比較できます。次に、Python の cmp 比較関数の戻り値に基づいて比較サイズを決定します。
>>> list1, list2 = [123, 'xyz'], [456, 'abc']
>>> cmp(list1, list2)
>>> (リスト 2, リスト 1)
1
>>> リスト 3 = リスト 2 + [789]>>> リスト 3
[456, 'abc', 789]
>>> list3)
-1

上記の cmp 関数のいくつかの比較を観察すると、次のように要約できます:

Python の cmp 比較関数、2 つの類似したオブジェクトを比較する場合、比較操作は非常に直感的です。

数値と文字列の比較、それらの値を直接比較します。



シーケンス型の比較については、方法は同様です。 Python は、2 つのオブジェクトが基本的に比較できない場合に、公平な結果を生成しようとします。たとえば、2 つのオブジェクトに関係がない場合、または 2 つの型に比較する機能がまったくない場合、Python は「ロジック」に基づいて結論を下すことしかできません。比較のアルゴリズム:

1. 2 つのリストの要素を比較します。

2. 比較された要素が同じタイプの場合、その値を比較します。

3.同じ型の要素が数値であるかどうかを確認します

a. 数値である場合は、必要な数値キャストを実行してから、一方の要素が数値である場合は、もう一方の要素を比較します。 c. それ以外の場合は、タイプ名のアルファベット順で比較します。

4. 1 つのリストが最初に最後に到達すると、もう 1 つの長いリストが「大きい」になります。
5. 両方のリストの要素がすべて枯渇し、すべての要素が等しい場合、結果は引き分けとなり、0 を返します。

これは Python の cmp 関数の比較原理です

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!