ホームページ > バックエンド開発 > Python チュートリアル > Pythonのsortメソッドの使い方を詳しく解説

Pythonのsortメソッドの使い方を詳しく解説

WBOY
リリース: 2016-06-16 08:43:01
オリジナル
1766 人が閲覧しました

Python の sort() メソッドは、配列の並べ替えに使用されます。この記事では、例の形式でこれについて詳しく説明します。

1.基本形
リストには、リストをその場でソートする独自のソートメソッドがあります。これはインプレースソートであるため、タプルは変更できないため、このメソッドを持てないことは明らかです。

1

2

3

x = [4, 6, 2, 1, 7, 9]

x.sort()

print x # [1, 2, 4, 6, 7, 9]

ログイン後にコピー

元のリストを変更せずにソートされたコピーが必要な場合、それを実現する方法


1

2

3

4

5

x =[4, 6, 2, 1, 7, 9]

y = x[ : ]

y.sort()

print y #[1, 2, 4, 6, 7, 9]

print x #[4, 6, 2, 1, 7, 9]

ログイン後にコピー

注:

y = x[:] は、シャーディング操作を通じてリスト x のすべての要素を y にコピーします。単に x を y に代入する場合: y = x、y および x は同じリストを指します。コピーが生成されます

ソートされたリストのコピーを取得する別の方法は、sorted 関数を使用することです。


1

2

3

4

x =[4, 6, 2, 1, 7, 9]

y = sorted(x)

print y #[1, 2, 4, 6, 7, 9]

print x #[4, 6, 2, 1, 7, 9]

ログイン後にコピー

sorted は順序付けされたコピーを返します。タイプは次のように常にリストです。


1

print sorted('Python') #['P', 'h', 'n', 'o', 't', 'y']

ログイン後にコピー

2. カスタム比較関数

独自の比較関数を定義し、パラメータを通じて並べ替えメソッドに渡すことができます。


1

2

3

4

5

6

7

8

9

10

11

12

13

def comp(x, y):

if x < y:

return 1

elif x > y:

return -1

else:

return 0

 

nums = [3, 2, 8 ,0 , 1]

nums.sort(comp)

print nums # 降序排序[8, 3, 2, 1, 0]

nums.sort(cmp) # 调用内建函数cmp ,升序排序

print nums # 降序排序[0, 1, 2, 3, 8]

ログイン後にコピー

3. オプションのパラメータ

sort メソッドには、key と reverse という 2 つのオプションのパラメータもあります
1. キーを使用する場合は、並べ替えプロセスによって呼び出される関数を提供する必要があります:

1

2

3

x = ['mmm', 'mm', 'mm', 'm' ]

x.sort(key = len)

print x # ['m', 'mm', 'mm', 'mmm']

ログイン後にコピー

2. Reverse は降順ソートを実装し、ブール値を指定する必要があります:


1

2

3

y = [3, 2, 8 ,0 , 1]

y.sort(reverse = True)

print y #[8, 3, 2, 1, 0]

ログイン後にコピー

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