生成一个带有列表的表子集



我在一个表中有一组主题,我想删除一个子集(例如,subject1和subject2)。是否有一种方法来获取一个子集使用列表?或者我是否需要一个属性来选择子集?

subject.Subject()
# *subject      sex    
# +----------+ +-----+
# subject1     F      
# subject2     M      
# subject3     M      
# subject4     M      
(subject.Subject & "subject=subject1").delete() # Delete individually 1
(subject.Subject & "subject=subject2").delete() # Delete individually 2
(subject.Subject & "sex='M'").delete() # Delete by attribute
(subject.Subject & "subject IN ('subject1','subject2')").delete() # pseudocode, by list
for s in ['1', '2']: # not ideal
(subject.Subject & f'subject="subject{s}"').delete(safemode=False) 

我现在认为以下是最有效的:

(subject.Subject & "subject in ('subject1', 'subject2')").delete()

最新更新