a
とb
のオブジェクトのリスト(それぞれa1 = A("1")
、b1 = B("1")
など)の名前のリストであれば、同等性をどのように確認できますか?私は現在、これをやっています:2つの配列で一致する要素の値を取得
aList = [ a1, a2, a3, a4, a5 ]
bList = [ b1, b2 ]
aNameList = []
bNameList = []
for i in aList:
aNameList.append(i.name)
for i in bList:
bNameList.append(i.name)
match = set(aNameList) & set(bNameList)
>>> set(['1', '2'])
しかし、それは長いと不要です。これを行う良い方法は何ですか?
あなたはあなたの例のそれらの一時リストとforループを交換する代わりに、リストの内包表記を使用することができます
コメントのおかげで、あなたの権利...私はベッドに行く(将来の読者のために、私のコメントを削除しました) – fceruti
'set'はジェネレータを受け入れますので、角括弧は不要です。 –
@ KarlKnechtel角括弧は一般的に書式的に優れているか、まったく必要ないか? – idlackage