3

それぞれ ID を持つオブジェクトのリストがあります。このリストには重複が含まれる場合があります。ID の一意のリストを取得するにはどうすればよいですか?

4

4 に答える 4

4

ID をキーとしてディクショナリに追加し、そのキーを取得できます。

d = {}
for item in items:
    d[item.id] = item
print d.keys()

現在、d.values()統一された ID を持つアイテムが含まれています。2 つの異なるアイテムが同じ ID を持たない限り、上記はロスレスです。

他のソリューション (執筆時点) とは対照的に、これは ID と指定された ID を持つアイテムとの間の適切なマッピングも提供します。

于 2013-09-10T00:46:32.957 に答える
2

double を含まないすべての ID のリストが必要であると仮定します。

all_ids = [x.getId() for x in items]
no_double_ids = list(set(all_ids))
于 2013-09-10T01:40:40.210 に答える
0

標準的な方法は次のとおりだと思います。

org_list = [1,2,2,4,1,5,3]
list(set(org_list))

リストを再ソートするため、それが問題である場合は別の方法が必要です。以下も参照してください。

順序を維持しながらリストから重複を削除するにはどうすればよいですか? http://www.peterbe.com/plog/uniqifiers-benchmark

于 2013-09-10T00:51:47.660 に答える