我开始学习更多关于Python的知识。我经常想要但不知道如何在Python中编程/执行的一个函数是R中的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。
答案 0 :(得分:3)
实际上非常简单。
if/for element in list-like object.
具体来说,对列表执行此操作时,它将比较该列表中的每个元素。当使用dict作为类似列表的对象(可迭代)时,它将使用dict键作为迭代的对象。
干杯
编辑: 对于您的情况,您应该使用" List Comprehensions"。
[True for element in list1 if element in list2]
答案 1 :(得分:1)
%in%
在Python中只是in
。但是,就像在numpy之外的Python中的大多数其他东西一样,它不是矢量化的:
In [1]: 1 in [1, 2, 3]
Out[1]: True
In [2]: [1, 2] in [1, 2, 3]
Out[2]: False