試想一個功能:如何檢查元素是否也是另一個列表
def Intersects (x, list1, list2, list3):
if x in list1 and x in list2 and x in list3: return True
return False
必須有一個更好的方式來做到這一點,但我不能弄明白。我怎樣才能做到這一點? (性能很重要)
編輯:這次我遇到了一個相關的,然而更難的問題。這次我有3個不相關的整數,我需要測試它們是否相交。
像:
1, 2, 3 <-- elements to look for
if InAll ((1, 2, 3)) ...
但我不是找一個元組,而不是我期待的只是整數。如何解開元組並進行相同的搜索?
我不會調用這個函數'相交' - 它檢查是否有一個項目是在每個名單。 –
是的,你可能是對的。 :)我將使用「inAll」 –
@TheConjuring:在下面的評論中,您詢問了「O(1)」和「O(n)」是什麼意思。粗略地說,它是完成操作需要多長時間的度量,是輸入大小的函數。如果一個操作是'O(1)',那麼無論輸入大小如何,都需要一段時間。如果一個操作是'O(n)',那麼它需要一定的時間與輸入的大小成比例(線性)。參見[wikipedia](http://en.wikipedia.org/wiki/Time_complexity)和[這個Python頁面](http://wiki.python.org/moin/TimeComplexity)。 – unutbu