2015-01-10 161 views
-2

我是python中的新成員。 我想獲得一個列表的子集與另一個列表中可用的元素。 如果我想這樣做的R,我會做:在另一個列表中可用元素的列表子集

aa=c(1,1,1,1,2,2,2,3,3,4) 
bb=c(1,4) 
aa[aa %in% bb] 
# 1 1 1 1 4 

請你翻譯來自R這個代碼到Python? 非常感謝

回答

3

使用列表理解,治療b作爲一組進行有效會員測試:

a = [1, 1, 1, 1, 2, 2, 2, 3, 3, 4] 
b = {1, 4} 
result = [elem for elem in a if elem in b] 

演示:

>>> a = [1, 1, 1, 1, 2, 2, 2, 3, 3, 4] 
>>> b = [1, 4] 
>>> b_set = set(b) 
>>> [elem for elem in a if elem in b_set] 
[1, 1, 1, 1, 4] 
+0

我刪除了計數器的選擇,因爲它實際上並沒有正常工作幾乎和我似乎記得的一樣。 –

+0

謝謝Martijn。這是我正在尋找的。 – MANN

相關問題