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