人物、通り、アイルランドのダンス劇団などのようなオブジェクトのコレクションがあり、それは名前識別子の何らかの並べ替えを持っています。それはマップに保存することが大丈夫だと思われますか、それは悪い習慣とみなされ、毎回リストとしてクエリを実行しますか?オブジェクトの「名前」をマップに含めることは悪いですか?
Ex。
class Person:
def __init__(self,name,age):
self.name=name
self.age=age
a = [Person("karl",50),Person("abe",20)]
vs
b = {"karl" : Person("karl",50), "abe" : Person("abe",20)}
編集: 、一意性を前提とスピードの懸念が懸念されるかもしれないが、一般的な透明性が目標です。
それは依存します。ユニークであることが保証されていますか?あなたは人を名前で頻繁に見ますか? – cdhowie
マップは抽象的な概念です。名前で検索する場合や、他の種類のキーを使用する場合は、マップ(またはキーが一意でない場合はマルチマップ)があります。あなたは単純ではあるが非常に非効率なリストを使ってマップコンセプトを実装することができます。または、言語/ライブラリに付属の効率的な既成のマップ実装を使用することができます(そうしないと非常に良い理由がない限り、これは通常行うべきことです)。 –
なぜ地図ではなくリストを使うのですか?どのように地球上のリストを検索すると、明快さが増しますか? – Marcin