检查列表中是否存在该项

2024-10-02 22:29:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

Tags: 代码in名称列表forif成员yes
2条回答

这比你想象的要容易:

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

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

编辑:您现在说A和B都是来自两个独立数据帧的列。在这种情况下,您可以执行以下操作:

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

我想你在找in关键字。分解如下:

(for example "sara") and check with list A to see if this name exists in the list or not. If this name exists then print "yes"

if "sara" in B:
    print("yes")

I want to check all the members in list B with list A.

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

相关问题 更多 >