如果a
和b
匹配元素值對象的列表,每一個名稱屬性(例如a1 = A("1")
,b1 = B("1")
等),我將如何檢查等價?我目前正在這樣做:獲取兩個陣列
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'])
但它似乎有點長和不必要的。有什麼更好的方法來做到這一點?
感謝您的評論,您的權利...我的牀上時間(對於未來的讀者,我刪除了我的評論) – fceruti
'set'將接受一個生成器,所以方括號是不必要的。 –
@KarlKnechtel方括號在風格上會更好還是完全沒有必要? – idlackage