如果你用一个负数乘一个不等式,你必须逆不等式的方向。
例如:
1-1>-x>-10(2个)
如果x=6,则与方程(1)和(2)一致。
有没有一种方法可以将不等式语句乘以一行中的整数,以便Python反转符号?
从实际的角度来看,我试图从TBLASTN结果中提取DNA/蛋白质序列。有股+1和-1,条件陈述之后的操作是相同的。
# one-liner statement I would like to implement
if (start_codon <= coord <= stop_codon)*strand:
# do operation
# two-liner statement I know would work
if (start_codon <= coord <= stop_codon) and strand==1:
# do operation
elif (start_codon >= coord >= stop_codon) and strand==-1:
# do operation
最佳答案
您可以根据strand
值选择上下限。这假设strand
总是1
或-1
并且利用bool
是Python中的int
子类,以便True
和False
可以成对索引:
cdns = (start_codon, stop_codon)
if (cdns[strand==-1] <= coord <= cdns[strand==1]):
# Python type coercion (True -> 1, False -> 0) in contexts requiring integers