检查该项目是否存在于列表中

我有两个集合,例如 A={"sara", "peter", "ray"} 和 B={"ram", "sara", "gouri"}。我想选取列表 B 的一名成员(例如“sara”)并与列表 A 核对以查看此名称是否存在于列表中。如果此名称存在,则打印“是”。我想用列表 A 检查列表 B 中的所有成员。我有下面的代码,但它不起作用。

for i in B:
   if B[i]==A:
      print("yes")

回答

这比你想象的要容易:

for i in B:
   if i in A:
      print("yes")

这假设 A 和 B 都是列表,但您似乎有字典/集合。您可能需要先澄清这一点。如果您有套装,上述解决方案应该仍然有效。

编辑:您现在说 A 和 B 都是来自两个单独 DataFrame 的列。在这种情况下,你可以这样做:

A={"sara", "peter", "ray"} 
B={"ram", "sara", "gouri"}

df1 = pd.DataFrame(A, columns=['Names'])
df2 = pd.DataFrame(B, columns=['Names'])

for index, row in df1.iterrows():
    if row['Names'] in df2.Names.tolist():
        print('yes')

编辑 2:您现在说要将结果添加到 df2 中的新列。用:

A={"sara", "peter", "ray"} 
B={"ram", "sara", "gouri"}

df1 = pd.DataFrame(A, columns=['Names'])
df2 = pd.DataFrame(B, columns=['Names'])

df2['present_in_df1'] = np.where(df1['Names'] == df2['Names'], "yes", "no")

输出df2

    Names   present_in_df1
0   gouri   no
1   ram     no
2   sara    yes


以上是检查该项目是否存在于列表中的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>