PythonのSortList()メソッドを使用してリストを並べ替える方法

数字または文字列のリストがあり、このリストの項目を並べ替えたいと思います。 基本的に、sortメソッドまたはsorted関数のいずれかを使用して、目的を達成できます。

sortとsortedの違いは、sortはリストをその場で変更するlistメソッドであり、tupleなどの別のオブジェクトではsortメソッドを使用できないのに対し、sortedは新しいリストを作成する組み込み関数であり、元のリストは作成しなかったことです。変わらない。

この記事では、これらの関数を使用して、数値、文字列、タプル、または文字通り任意のオブジェクトのリストを昇順または降順で並べ替える方法について説明します。

また、独自のカスタムソート関数を定義する方法についても説明します。

  1. 番号のリストを並べ替える
  2. 文字列のリストを並べ替える
  3. タプルのリストを並べ替える
  4. オブジェクトのリストを並べ替える

1)番号のリストを並べ替える

沿って sort メソッドでは、整数か浮動小数点かを問わず、数値のリストをソートできます。

ノート: メソッドはオブジェクトの後に次のようになります example 下

>>> Lst = [20, 25.4, 12, -16, -3.14, 3, -5, 7]
>>> Lst.sort()
>>> Lst
[-16, -5, -3.14, 3, 7, 12, 20, 25.4]

ご覧のとおり、オブジェクトの順序 Lst 変更されました。

ただし、元のリストを変更せずに保持し、新しい順序を新しいリストに割り当てる場合は、 sorted 以下のように機能します。

>>> Lst = [20, 25.4, 12, -16, -3.14, 3, -5, 7]
>>> Sorted_Lst = sorted(Lst)
>>> Sorted_Lst
[-16, -5, -3.14, 3, 7, 12, 20, 25.4]

リストを降順で並べ替える場合は、キーワードを使用します reverse それに割り当てる True 以下のように。

>>> Lst = [20, 25.4, 12, -16, -3.14, 3, -5, 7]
>>> Sorted_Lst = sorted(Lst, reverse = True)
>>> Sorted_Lst
[25.4, 20, 12, 7, 3, -3.14, -5, -16]

2)文字列のリストを並べ替える

我々は使用するだろう sort また sorted 文字列をソートするため

>>> Lst = ['bmw','ford','audi','toyota']
>>> Lst.sort()
>>> Lst
['audi', 'bmw', 'ford', 'toyota']

また、私たちはまだ使用しています reverse 降順で並べ替えるキーワード。

>>> Lst = ['bmw','ford','audi','toyota']
>>> Lst.sort(reverse=True)
>>> Lst
['toyota', 'ford', 'bmw', 'audi']

ノート: Pythonは、すべての大文字を小文字の前に扱います

私たちはそれを example 下。

>>> Lst = ['bmw','ford','audi','Toyota']
>>> Lst.sort()
>>> Lst
['Toyota', 'audi', 'bmw', 'ford']

ただし、キーワードを使用すると、大文字と小文字を区別せずに文字列のリストを並べ替えることができます。 key=str.lower にとって sort 以下の方法。

>>> Lst = ['bmw','ford','audi','Toyota']
>>> Lst.sort(key=str.lower)
>>> Lst
['audi', 'bmw', 'ford', 'Toyota']

3)タプルのリストを並べ替える

listが可変オブジェクトである場合、タプルは不変オブジェクトであることを知っておく必要があります。また、2つのタプルをソートする場合、タプルの最初の要素を比較することから始めます。それらが等しくない場合、これは比較の結果です。

>>> (5, 7) >> (5, 7) > (5, 9)
False

もちろん使えます sort メソッドまたは sorted タプルをソートするための関数は次のとおりです。

>>> sorted([(5, 4), (3, 3), (3, 10)])
[(3, 3), (3, 10), (5, 4)]

>>> sorted([('watermelon', 'green'), ('apple', ''), ('banana', '')])
[('apple', ''), ('banana', ''), ('watermelon', 'green')]

ノート: タプルを2番目の要素で並べ替えることができます

我々は使用するだろう lambda 以下のように独自のキー関数を定義します。

>>> Lst = [("Amanda", 35), ("John", 30), ("Monica", 25)]
>>> Lst.sort(key=lambda x: x[1])
>>> print(Lst)
[('Monica', 25), ('John', 30), ('Amanda', 35)]

4)オブジェクトのリストを並べ替える

オブジェクトはPythonのデータ型のタイプです。このタイプのデータ型を並べ替えるには、このオブジェクトを次のようにリストに入れる必要があります。
私たちが持っていると仮定します Student クラスには、次のような名前と年齢のメソッドがあります。-

class Student:
def __init__(self, name, age):
self.name = name
self.age = age

今、私たちはいくつかを作成します Student オブジェクトをリストに追加して並べ替えます。

>>> John = Student('John', 30)
>>> Amanda = Student('Amanda', 35)
>>> Monica = Student('Monica', 25)
>>> Lst = [John, Amanda, Monica]

リストを並べ替えると name 方法。

>>> Lst.sort(key=lambda x: x.name)
>>> print([item.name for item in Lst])
['Amanda', 'John', 'Monica']

リストを並べ替えると age 方法。

>>> Lst.sort(key=lambda x: x.age)
>>> print([item.name for item in Lst])
['Monica', 'John', 'Amanda']

Pythonには、問題の解決に役立つ多くの組み込み関数とメソッドがあります。sortsorted 数値、文字列、タプル、およびオブジェクトのリストを並べ替えるために使用されます。

また読む:

  • 例でPythonraw_input関数を使用する方法
  • Ubuntu18.04でPython仮想環境をセットアップする方法