如何在Python中比较两个列表并添加文本

如何在Python中比较两个列表并添加文本,python,Python,我有两张清单。1包含我的预测,另一个包含实际结果。我想将“mypicks”中的值替换为1,如果它在“winners”列表中;如果值不在列表“winners”中,则为0 winners: ['GB', 'Ten', 'SF', 'Ari', 'Dal', 'Bal', 'Was', 'KC', 'Buf', 'LA', 'NE', 'Cin', 'Min', 'Oak', 'Hou'] mypicks: ['Atl', 'Mia', 'Ten', 'KC', 'Phi', 'Det', 'Dal'

我有两张清单。1包含我的预测,另一个包含实际结果。我想将“mypicks”中的值替换为1,如果它在“winners”列表中;如果值不在列表“winners”中,则为0

winners: ['GB', 'Ten', 'SF', 'Ari', 'Dal', 'Bal', 'Was', 'KC', 'Buf', 'LA', 'NE', 'Cin', 'Min', 'Oak', 'Hou']
mypicks: ['Atl', 'Mia', 'Ten', 'KC', 'Phi', 'Det', 'Dal', 'TB', 'Pit', 'Den']
使用下面的两个列表。”mypicks'将更改为[0,0,1,1,0,0,1,0,0] 0表示不在列表“winners”中的值,1表示列表“winners”中的值

winners: ['GB', 'Ten', 'SF', 'Ari', 'Dal', 'Bal', 'Was', 'KC', 'Buf', 'LA', 'NE', 'Cin', 'Min', 'Oak', 'Hou']
mypicks: ['Atl', 'Mia', 'Ten', 'KC', 'Phi', 'Det', 'Dal', 'TB', 'Pit', 'Den']

如果您试图使用它进行检查,那么就去掉
int
,这样您就有了方便的布尔值。无论哪种方式,如果您只需要计算正确拾取的数量,只需在该列表上的
sum
即可获得所需的总数。

假设
pandas
标记在这个问题上是正确的:

correct_picks = list(df['mypicks'].isin(df['winners']).astype(int))
将在
pandas
列而不是列表中返回一个与您正在查找的[0,1]类似的列表

correct_picks = list(df['mypicks'].isin(df['winners']).astype(int))