如果你用一个负数乘一个不等式,你必须逆不等式的方向。
例如:
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子类,以便TrueFalse可以成对索引:

cdns = (start_codon, stop_codon)
if (cdns[strand==-1] <= coord <= cdns[strand==1]):
    # Python type coercion (True -> 1, False -> 0) in contexts requiring integers

10-08 13:11