根据学生所在的教室,我想返回两个值中的一个,并将其分配给变量名“scoremultiplier”,该变量随后将在代码的其他地方使用。然而,我对这一点还是相当陌生,在执行代码的第一个场景之后,我遇到了以下错误消息:AttributeError: 'str' object has no attribute 'isin'
import numpy as np
pupil = 'Tom'
classroom_A = ['Peter', 'Greg', 'Susan', 'Tom', 'John']
classroom_B = ['Steve', 'Joe', 'Jose', 'Pam', 'Paul']
scenario = [((pupil.isin(classroom_A )) & (~pupil.isin(classroom_B ))),
((pupil.isin(classroom_B )) & (~pupil.isin(classroom_A )))]
result = [3,1]
scoreMultiplier = np.select(scenario , result, default='')
print(scoreMultiplier)
什么是最好的方式使这项工作
非常感谢
您的想法是正确的,但使用了错误的函数。
str
对象没有isin()
函数。您应该使用关键字in
,在列表的情况下,检查列表是否包含给定的对象(在其他情况下,它调用对象的__contains__()
函数)。在使用boolean
而不是按位运算符时,还应该使用Python的二进制运算符(and
、or
、not
)。因此,这意味着将代码的这一部分更改为以下内容:检查此代码:
相关问题 更多 >
编程相关推荐