Python:列表比较与整数比较哪个更有效?

时间:2015-01-03 23:23:50

标签: python-2.7 lte modulation

我目前正在使用Python(版本2.7.7)实现LTE物理层。 对于qpsk,16qam和64qam调制,我想知道在整数比较和列表比较之间使用哪个更有效:

整数比较:bit_pair作为比较前的整数值

# QPSK - TS 36.211 V12.2.0, section 7.1.2, Table 7.1.2-1 
def mp_qpsk(self): 
    r = [] 
    for i in range(self.nbits/2): 
        bit_pair = (self.sbits[i*2] << 1) | self.sbits[i*2+1] 
        if bit_pair == 0: 
            r.append(complex(1/math.sqrt(2),1/math.sqrt(2))) 
        elif bit_pair == 1: 
            r.append(complex(1/math.sqrt(2),-1/math.sqrt(2))) 
        elif bit_pair == 2: 
            r.append(complex(-1/math.sqrt(2),1/math.sqrt(2))) 
        elif bit_pair == 3: 
            r.append(complex(-1/math.sqrt(2),-1/math.sqrt(2))) 
    return r 

列表比较:bit_pair作为比较前的列表

# QPSK - TS 36.211 V12.2.0, section 7.1.2, Table 7.1.2-1 
def mp_qpsk(self): 
    r = [] 
    for i in range(self.nbits/2): 
        bit_pair = self.sbits[i*2:i*2+2] 
        if bit_pair == [0,0]: 
            r.append(complex(1/math.sqrt(2),1/math.sqrt(2))) 
        elif bit_pair == [0,1]: 
            r.append(complex(1/math.sqrt(2),-1/math.sqrt(2))) 
        elif bit_pair == [1,0]: 
            r.append(complex(-1/math.sqrt(2),1/math.sqrt(2))) 
        elif bit_pair == [1,1]: 
            r.append(complex(-1/math.sqrt(2),-1/math.sqrt(2))) 
    return r 

谢谢

0 个答案:

没有答案