如何比较2个列表并在Python中获取真假列表?

时间:2018-12-04 09:37:44

标签: python pandas list

假设我有:

A = ['a','b','c','d','e']
B = ['a','b','e']

我想比较这两个列表,并得到像这样的东西:

[True, True, False, False, True]

我的问题是列表必须具有相同的长度。但是,如果不是,该如何比较呢?

我需要更快的方法,因为我正在使用带有98800个观测值的df。我在互联网上搜索,但是找不到我需要的东西。

谢谢

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找的是Pandas的isin()函数

import pandas as pd
B = ['a','b','e']
df=pd.DataFrame({'A': ['a','b','c','d','e']});
df.isin(B)

结果

    A
0   True
1   True
2   False
3   False
4   True

isin()的系列版本

答案 1 :(得分:-1)

如果要查看列表B中的列表A的哪些元素,可以执行以下操作:

result = [x in B for x in A] 

这称为列表理解。

这等效于:

result = []
for x in A:
    if x in B:
       result.append(True)
    else:
       result.append(False)