.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}

Pythonで辞書型のリストをユニークにする方法

Pocket

Pythonでリストをユニークにする(重複を削除する)には次のようにします。

a = [1, 1, 2, 2, 3, 3, 3, 4, 5, 5]
b = list(set(a))
print(b)

結果
[1, 2, 3, 4, 5]

要素が数値であればこのように簡単なのですが要素が辞書型変数の場合は少し面倒です。

[
  {"name":"apple", "color":"red"},
  {"name":"apple", "color":"green"},
  {"name":"apple", "color":"red"},
  {"name":"orange", "color":"orange"},
  {"name":"apple", "color":"green"}
]

上のような場合です。
要素は5個ですが種類は3種類です(「赤のりんご」「緑のりんご」「オレンジのみかん」)。

次のようにします。

a = [
  {"name":"apple", "color":"red"},
  {"name":"apple", "color":"green"},
  {"name":"apple", "color":"red"},
  {"name":"orange", "color":"orange"},
  {"name":"apple", "color":"green"}
]
b = []
for x in a:
  if x not in b:
    b.append(x)
print(b)

結果
[
{'name': 'apple', 'color': 'red'},
{'name': 'apple', 'color': 'green'},
{'name': 'orange', 'color': 'orange'}
]

きちんと3種類になりました。

[ 2021年8月8日 | カテゴリー: Python | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報