[英]An equivalent to R's %in% operator in Python
我開始學習更多關於Python的知識。 我經常想要但不知道如何在Python中編程/執行的一個函數是R x %in% y
運算符中的x %in% y
。它的工作原理如下:
1:3 %in% 2:4
##[1] FALSE TRUE TRUE
x
(1)中的第一個元素在y
沒有匹配,所以FALSE
,其中x
(2和3)的最后兩個元素在y
具有匹配,因此它們變為TRUE
。
不是我希望這個工作,因為它不會在R中工作,但在Python中使用==
我得到:
[1, 2, 3] == [2, 3, 4]
# False
我怎樣才能在Python中獲得相同類型的運算符? 如果這樣的運算符已經存在於其他地方,我就不會依賴於Python。
它實際上非常簡單。
if/for element in list-like object.
具體來說,當對列表執行此操作時,它將比較該列表中的每個元素。 當使用dict作為類似列表的對象(可迭代)時,它將使用dict鍵作為迭代的對象。
干杯
編輯:對於您的情況,您應該使用“列表理解”。
[True for element in list1 if element in list2]
%in%
簡直是in
Python編寫的。 但是,就像在numpy之外的Python中的大多數其他東西一樣,它不是矢量化的:
In [1]: 1 in [1, 2, 3]
Out[1]: True
In [2]: [1, 2] in [1, 2, 3]
Out[2]: False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.