簡體   English   中英

相當於Python中%R運算符的%

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM