返回列表中的第一個項目是否也是另一個列表中的項目?目前我使用蠻力和無知做:返回包含在另一個列表中的Python列表中的第一個項目
def FindFirstMatch(a, b):
"""
Returns the first element in a for which there is a matching
element in b or None if there is no match
"""
for item in a:
if item in b:
return item
return None
所以FindFirstMatch(['Fred','Wilma','Barney','Betty'], ['Dino', 'Pebbles', 'Wilma', 'Bambam'])
回報'Wilma'
但我想知道是否有一個更優雅/有效的/ Python的方式。
我不確定Python集合是否可以成爲這裏的途徑,但是我需要將列表A中的第一項與列表B中的任何項匹配,並且我相信Python集合是無序的? – TimGJ
看起來不錯,雖然你不需要明確地返回None。如果元素是可散列的(比如你的字符串),你可以使'b'集合更高效。 – jonrsharpe
>>>的術語是什麼?我無法在文檔中找到它。 – ergonaut