相当于Python

时间:2016-07-26 20:38:46

标签: python r

我开始学习更多关于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。

2 个答案:

答案 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