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

Python –重複する要素の列を削除する


重複する要素の列を削除する必要がある場合は、空のセットを作成するメソッドが定義されます。リストは繰り返され、見つからない場合はセットに追加されます。

以下は同じもののデモンストレーションです

from itertools import chain

def remove_dupes(my_sub):

   my_string = set()
   for i, elem in enumerate(my_sub):

      if elem not in my_string:
         my_string.add(elem)
      else:
         yield i

my_list = [[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]

print("The list is : ")
print(my_list)

K = 3

temp_idxs = set(chain.from_iterable(remove_dupes(sub) for sub in my_list))

my_result = [[elem for i, elem in enumerate( sub) if i not in temp_idxs] for sub in my_list]

print("The result is : ")
print(my_result)

出力

The list is :
[[5, 1, 6, 7, 9], [6, 3, 1, 9, 1], [4, 2, 9, 8, 9], [5, 1, 6, 7, 3]]
The result is :
[[5, 1, 6, 7], [6, 3, 1, 9], [4, 2, 9, 8], [5, 1, 6, 7]]

説明

  • 必要なパッケージが環境にインポートされます。

  • リストをパラメータとして受け取る「remove_dupes」という名前のメソッドが定義されています。

  • 空のセットが作成されます。

  • リスト内の要素が列挙され、要素が見つからない場合は、空のセットに追加されます。

  • それ以外の場合は、列挙のイテレータが生成されます。

  • 関数の外部では、リストのリストが定義され、コンソールに表示されます。

  • 「K」の値が定義されています。

  • メソッドは、それを反復処理することによって呼び出されます。

  • セットに変換され、変数に割り当てられます。

  • ここでも、列挙され、繰り返されて結果変数に格納されます。

  • この結果変数は、コンソールに出力として表示されます。


  1. Pythonでゼロを複製する

    整数の固定長配列があるとすると、ゼロが出現するたびに複製し、残りの要素を右側にシフトする必要があります。 元の配列の長さを超える要素は書き込まれないことに注意してください。 したがって、配列が[1,0,2,3,0,4,5,0]のようであるとすると、変更後は[1,0,0,2,3,0,0,4] これを解決するには、次の手順に従います- arrを別の配列arr2にコピーし、iとjを0に設定します whilei

  2. セットからアイテムを削除するPythonプログラム

    数学の観点から、私たちは集合について知っているので、私たちは集合という用語に非常に精通しています。 Pythonの集合は、数学の集合と同等のデータ構造です。さまざまな要素で構成されている可能性があります。セット内の要素の順序は未定義です。セットの要素を追加および削除したり、セットの要素を反復したり、セットに対して標準の操作(和集合、共通部分、差)を実行したりできます。 ここでは、セットから要素を削除するだけでセットが与えられます。ここではpop()メソッドを使用します。pop()はPythonに組み込まれているメソッドであり、要素を1つずつセットからポップアウトまたは削除するために使用されま