Pythonでリストから重複を削除する方法
dict.fromkeys()を使用して、Pythonから重複を削除できます。これにより、重複する値を削除する辞書が生成されます。リストをセットに変換することもできます。重複が削除されたリストを表示するには、辞書を変換するか、リストに戻す必要があります。
Pythonでリストを操作しているときに、リストから重複を削除したいというシナリオがあるかもしれません。たとえば、あなたがレストランの新旧のメニューを統合しているシェフであるとします。 2つのメニューを組み合わせることで発生する重複を削除することをお勧めします。
このチュートリアルでは、 dict.fromkeys()の使用について説明します。 リストをセットに変換するメソッド。データをリストとして解釈できるように、これら2つのメソッドからの出力をリストに戻す方法について説明します。
Pythonはリストから重複を削除します
Pythonセットまたはdict.fromkeys()メソッドを使用して重複を削除できます。
dict.fromkeys()メソッドは、リストを辞書に変換します。ディクショナリに重複する値を含めることはできないため、一意の値のみを持つディクショナリがdict.fromkeys()によって返されます。
辞書のように、セットに重複する値を含めることはできません。リストをセットに変換すると、重複がすべて削除されます。
Pythonリストから重複を削除:dict.fromkeys()
Pythonディクショナリは、データをキー/値構造に格納します。辞書はキーを値にマップし、Pythonでデータを格納するペアを作成します。
Pythonの辞書に重複するキーを含めることはできません。リストを辞書に変換すると、重複する値が削除されます。ここでfromkeys() メソッドが入ります。
参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。
平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。
dict.fromkeys()の例
fromkeys() 指定したキーから辞書を生成する組み込み関数です。辞書に重複するキーを含めることはできないため、この関数は重複する値をリストから削除します。次に、辞書をリストに戻すことができます。
fromkeys()の構文 方法は次のとおりです。
dictionary_name.fromkeys(keys, value)
fromkeys キーと値の2つのパラメータを取ります。 keysパラメータはiterableであり、作成する新しいディクショナリのキーを指定します。 valueパラメータはオプションであり、すべてのキーの値を保持します。この例ではこのパラメーターは必要ないため、無視します。
私たちが新旧のピザメニューを1つの大きなメニューに統合しているシェフだとしましょう。新しいメニューには、私たちが何ヶ月も取り組んできた新しいピザがたくさん含まれています。しかし、私たちは古いメニューのピザを提供したいと思っています。顧客を混乱させる可能性があるため、メニューに重複が表示されないようにします。
新しいメニューに存在する可能性のある重複を削除するには、次のコードを使用できます。
new_menu = ['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Hawaiian', 'Bacon', 'Black Olive Special', 'Sausage', 'Sausage'] final_new_menu = list(dict.fromkeys(new_menu)) print(final_new_menu)
コードは重複した要素を削除し、次を返します:
['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Bacon', 'Black Olive Special', 'Sausage']
最初の行で、 new_menuというPython変数を宣言します。 新しいメニューにすべてのピザを保存します。このリストには重複する値が含まれていることに注意してください—両方ソーセージ およびハワイアン Pythonリストに2回表示されます。
dict.fromkeys()を使用します new_menuから辞書を作成するメソッド 変数。次に、 list()を使用します データを辞書からPython配列またはリストに変換します。コードの最後の行で、改訂されたリストを印刷します。
ご覧のとおり、プログラムはデータから重複する値を削除し、ソーセージ およびハワイアン 新しいリストに1回表示されます。
リストPythonから重複を削除:セット
Pythonセットオブジェクトは、両方とも順序付けされていないデータ構造です。 およびインデックスなし 。 Pythonで一意のアイテムのストアコレクションを設定します。リストとは異なり、セットは重複する値を格納できません。
したがって、セットは重複するアイテムを保存できないため、リストをセットに変換してそれらを削除できます。 Pythonでは、セットは中括弧で囲まれたコンマ区切りの項目のリストです。ピザのリストを格納するPythonのセットの例を次に示します。
pizzas = ('Margherita', 'Hawaiian', 'Mushroom', 'Meat Feast')
セットの例を使用して重複を削除する
上記の例を見て、セットを使用してリストから重複する値を削除する方法を説明しましょう。
私たちが古いメニューと新しいメニューの両方を統合したいと考えているピザシェフだとしましょう。ただし、これらのメニュー間に重複がある可能性があり、最終的なメニューを作成する前に削除する必要があります。 setアプローチを使用してこれらの重複を削除するには、次のコードを使用できます。
new_menu = ['Hawaiian', 'Margherita', 'Mushroom', 'Prosciutto', 'Meat Feast', 'Hawaiian', 'Bacon', 'Black Olive Special', 'Sausage', 'Sausage'] final_new_menu = list(set(new_menu)) print(final_new_menu)
重複する値を削除した後のリストは次のとおりです。
['Mushroom', 'Black Olive Special', 'Meat Feast', 'Bacon', 'Margherita', 'Sausage', 'Prosciutto', 'Hawaiian']
プログラムの開始時に、 new_menuというリストを宣言します。 新しいメニューにすべてのピザを保存します。
次に、 final_new_menuという変数を宣言します。 改訂されたメニューを保存します。この変数は、 new_menuを変換します set()を使用してセットに変数 、次に list()を使用してセットをリストに変換し直します 。このプロセスにより、 new_menu内の重複する値がすべて削除されます。 変数。
最後に、プログラムは新しいメニューをコンソールに出力します。元のリストオブジェクトのすべての一意の要素が表示されます。ユニークなリストができました。
結論
リストから重複するアイテムを削除することは、Pythonの一般的な操作です。リストから重複を削除するために使用する必要がある公式の方法はありません。最も一般的なアプローチは、辞書 fromkeys()を使用することです。 関数を実行するか、データをセットに変換します。
このガイドでは、辞書 fromkeys()の使用方法について説明しました。 関数とPythonのリストから重複を削除するように設定します。
Pythonプログラミングの詳細については、Pythonの学習方法ガイドをご覧ください。
-
Androidでソートされたリンクリストから重複を削除するにはどうすればよいですか?
この例は、Androidでソートされたリンクリストから重複を削除する方法について示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="ht
-
Pythonでラベルからテキストを削除するにはどうすればよいですか?
Tkinterは、GUIベースのアプリケーションの作成と開発に使用されるPythonライブラリです。この記事では、テキストが含まれるラベルからテキストを削除する方法を説明します。 ラベルからテキストを削除するために、ラベルのトリガーとして機能する関連ボタンを作成します。 例 #import Tkinter Library from tkinter import * #Create an instance of tkinter frame win= Tk() #Define the size and geometry of the frame win.geometry("700x