繁体   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