2016-02-24 4 views
1

Я пытаюсь найти конкретный элемент внутри длинного кадра, который имеет его выход:Как найти определенный элемент в наборе фреймов в Python?

Получать: ['01', '03', '3C', '00', '00', '00 '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '4B', '00', '00', '00', '30', '30', '30', '31 '30', '30', '32', '30', '4B', '00', '00', '00', '30', '30', '30', '30', ' '30', '30', '30', '30', '53', '4D', '41', '52', '54', '50', '00', '00', ' '00', '00', '00', '00', '00', '00', '00', '00', '7D', '1F']

Это часть моего код, который я пытаюсь его изменить:

data = [] 
    data.append(CMRead) 
    data.append((starting_address >> 8) & 0xFF) 
    data.append(starting_address & 0xFF) 
    data.append((num >> 8) & 0xFF) 
    data.append(num & 0xFF) 

    # opening a communication serial 
    if not self.Open(): 
     return TIMEOUT 

    #send frame 
    if not self.SendFrame(address, data): 
     self.Close() 
     return TIMEOUT 

    #receive frame 
    if not self.ReceiveFrame(data, 2 + ((num + 7) // 8)): 
     self.Close() 
     return TIMEOUT 

Мне нужен механизм для проверки того, есть ли в приемном кадре выходной сигнал шестнадцатеричное значение '53', '4D', '41' существует или нет, но у меня еще не было.

Код помощи оценивается!

+2

Возможный дубликат [элегантная находка подсписка в списке] (http://stackoverflow.com/questions/10106901/elegant-find-sub-list-in-list) –

+0

' '53' в списке «Нехорошо? – Idos

+0

Вы хотите знать, если они появятся в этом заказе? Или просто знать, что они находятся в 'получении'? –

ответ

1
wanted = ['53', '4D', '41'] 
frames = ['01', '03', '3C', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '4B', '00', '00', '00', '30', '30', '30', '31', '30', '30', '32', '30', '4B', '00', '00', '00', '30', '30', '30', '30', '30', '30', '30', '30', '53', '4D', '41', '52', '54', '50', '00', '00', '00', '00', '00', '00', '00', '00', '00', '00', '7D', '1F'] 
captured = [(frame in wanted) for frame in frames] 
any_captured = any(captured) 
Смежные вопросы