Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリスト内の要素の相対的な順序を見つける


要素が整数であるリストが与えられます。相対的な順序を見つける必要があります。つまり、昇順で並べ替えられている場合は、それらの位置のインデックスを見つける必要があります。

並べ替えとインデックス付き

最初にリスト全体を並べ替え、並べ替え後に各リストのインデックスを見つけます。

listA = [78, 14, 0, 11]
# printing original list
print("Given list is : \n",listA)
# using sorted() and index()
res = [sorted(listA).index(i) for i in listA]
# printing result
print("list with relative ordering of elements : \n",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list is :
[78, 14, 0, 11]
list with relative ordering of elements :
[3, 2, 0, 1]

列挙して並べ替える

列挙およびソートされた関数を使用して、各要素を取得し、列挙およびソートされた関数を含む辞書コンテナーを作成します。マップ関数を使用して、このコンテナから各要素を取得します。

listA = [78, 14, 0, 11]
# printing original list
print("Given list is : \n",listA)
# using sorted() and enumerate
temp = {val: key for key, val in enumerate(sorted(listA))}
res = list(map(temp.get, listA))
# printing result
print("list with relative ordering of elements : \n",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list is :
[78, 14, 0, 11]
list with relative ordering of elements :
[3, 2, 0, 1]

  1. Pythonで範囲内の要素を削除する

    Pythonから単一の要素を削除するのは、要素のインデックスとdel関数を使用することで簡単です。ただし、インデックスのグループの要素を削除する必要がある場合があります。この記事では、インデックスリストで指定されている要素のみをリストから削除する方法について説明します。 sortとdelの使用 このアプローチでは、削除が発生する必要があるインデックス値を含むリストを作成します。リストの要素の元の順序を保持するために、それらを並べ替えて逆にします。最後に、これらの特定のインデックスポイントの元の指定されたリストにdel関数を適用します。 例 Alist = [11,6, 8, 3, 2] #

  2. 要素の長さに従ってリストをソートするPythonプログラム?

    ここでは、1つのユーザー入力配列を使用し、要素の長さに従ってリストを並べ替える必要があります。ここでは、Python組み込み関数sorted()を使用します。 例 Input::[“mona”,”pp”,”aaa”] Lengths are [4,2,3] So, the sorted array should be [2,3,4] Output::[“pp”,”aaa”,”mona”] アルゴリズム Step 1: Input list element. Step 2: apply sorted (A,len) function. サンプルコード # To sort a list