Python リストの一般的な並べ替え方法

1. バブルソート法

        リスト内の 1 つの項目を次の項目と比較し、前の項目が次の項目より大きい場合は 2 つの位置を入れ替えます (昇順)。

方法 1: for ループを直接使用する

L=[8,2,50,3]
for i in range(len(L)):
    for j in range(i+1,len(L)):
        if L[i]>L[j]:
            L[i],L[j]=L[j],L[i]
print(L)

方法 2: while ステートメントを使用する

L=[8,2,50,3]
n=0
while n<len(L)-1:
    n+=1
    i=0
    while i<len(L)-1:
        if L[i]>L[i+1]:
            L[i],L[i+1]=L[i+1],L[i]
        i+=1
print(L)

2. 選択ソート方法

        並べ替えられていないリストで最小の要素を見つけ、それをリストの先頭に格納し、残りの要素から最小の要素を見つけて、並べ替えられたリストの最後に配置するというように、すべての要素が並べ替えられるまで (昇順) )

方法 1: remove と append を同時に使用する

L=[8,2,50,3]
l=[] #  创建一个空列表用于存放排序后的数据
for i in range(len(L)):
    a=min(L) #  创建一个变量存放最小值
    l.append(a) #  向空列表中加入数据
    L.remove(a) #  在原列表中将最小值剔除
print(l)

方法 2: pop と append を同時に使用する

L=[8,2,50,3]

#  创建函数寻找最小元素的索引值
def Smallest(L):
  smallest = L[0]
  s = 0 #  创建变量用于存放索引值
  for i in range(1, len(L)):
    if L[i] < smallest:
      s = i 
      smallest = L[i]
  return s #  返回最小元素的列表索引值

l = [] #  创建一个空列表用以存放排序后的数据
for i in range(len(L)):
    smallest = Smallest(L)
    l.append(L.pop(smallest)) #  pop方法后跟元素当前列表最小值的索引值
print(l)

3. list.sort() メソッド

        iterable.sort(self,key,reverse)

iterable は反復可能なオブジェクトで、リスト、コレクション、辞書のいずれかになります

key は関数であり、ソートされる要素を取得するための関数規則を指定します

逆は降順のソートを実装します。ブール値を指定する必要があります。デフォルトは False (昇順) です。

L=[8,2,50,3]
L.sort()
print(L)

4. sorted() 関数

        sorted(iterable,key=None,reverse=False)

key: このパラメーターを使用して並べ替えロジックをカスタマイズできます

L=[8,2,50,3]
l=sorted(L)
print(l)

おすすめ

転載: blog.csdn.net/m0_69265664/article/details/125703164