2016-02-27 7 views
5

私はこのような結果を持っている:値のペアをソートされた一意の配列に変換する方法は?

[(196, 128), (196, 128), (196, 128), (128, 196), 
(196, 128), (128, 196), (128, 196), (196, 128), 
(128, 196), (128, 196)] 

そして、私はソート順に、このようなユニークな値に変換したい:

[128, 196] 

そして、私のようなものがありますかなり確信していますPythonで一回のトリック(電池が含まれています)が見つかりません。

答えて

9

結果をソートし、その後、すべてのタプルの和集合を作成します。

sorted(set().union(*input_list)) 

デモ:

>>> input_list = [(196, 128), (196, 128), (196, 128), (128, 196), 
... (196, 128), (128, 196), (128, 196), (196, 128), 
... (128, 196), (128, 196)] 
>>> sorted(set().union(*input_list)) 
[128, 196] 
+0

パーフェクト!コンストラクタを '' set() '"だけでは得られません。 –

+0

@OlivierPons:これはショートカットです。空の 'set()'オブジェクトを生成し、それを使ってすべてのタプルを持つ共用体を生成することができます。代替案は、タプルの1つをセットに変換し、そのタプルで組合を生成することです。 –

+0

さて、説明した内容の実例を使ってコメントを追加してもらえますか、あなたが説明した作業コードについては非常に興味があります。本当にありがとうございます –

関連する問題