-1
私はこのような辞書のリストを持っている:1つの値が異なる辞書のリストの中で1つの辞書を選択するにはどうすればよいですか?
xyz =[ {"key1":"1","key2":"2","key3":"x_1"},{"key1":"1","key2":"2","key3":"x_2"},{"key1":"1","key2":"2","key3":"x_3"},{"key1":"5","key2":"6","key3":"y_1"},{"key1":"5","key2":"6","key3":"y_2"},{"key1":"5","key2":"6","key3":"y_3"}]
私はすべてのユニークな「キー1」の値の最初の辞書を選択しようとしています。私のように出力を期待しています上記のdictの場合:
xyz=[{"key1":"1","key2":"2","key3":"x_1"},{"key1":"5","key2":"6","key3":"y_1"},]
私は、次のコードを試してみました:
dictout = [dict(sample) for sample in set(tuple(item.items()) for item in xyz)]
をしかし、私はなってしまった:
[{'key3': 'x_1', 'key2': '2', 'key1': '1'}, {'key3': 'x_3', 'key2': '2', 'key1': '1'}, {'key3': 'y_2', 'key2': '6', 'key1': '5'}, {'key3': 'x_2', 'key2': '2', 'key1': '1'}, {'key3': 'y_1', 'key2': '6', 'key1': '5'}, {'key3': 'y_3', 'key2': '6', 'key1': '5'}]
は私が構築することはできませんよ"key1"の値に基づいて一意のdicts。
誰かが私にアプローチするアイデアを与えるのは素晴らしいことです。
ありがとうございます。
をのでwhat'veあなたがしようとしましたか? –
*最初のものである必要がありますか?そして/またはあなたはその注文を気にしていますか? '{d ['key1']:dはxyzのdのために}'重複排除し、任意にそれをリストに戻すことができます(→ '.values()')。 – deceze
あなたのためにいくつかのコードを書きたいと思うようです。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常は、ポスターがすでに問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、予想される出力、実際に得られる出力(コンソール出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性の高い回答が増えます。 [FAQ]と[ask]を確認してください。 –