Моего примера словаря этоДоступ только часть словаря в для использования Python
data_dictionary = {1:'blue',2:'green',3:'red',4:'orange',5:'purple',6:'mauve'}
data_dictionary может иметь несколько элементов, в зависимости от поступающих данных. Первое значение - это то, что мы называем payload_index. Я всегда получаю payload_index от 1 до 4.
Мне нужно собрать список из этого. Довольно легко:
for payload_index in data_dictionary :
assembled_packet.append(data_dictionary[payload_index])
Моя проблема в том, что мне нужно всегда пропускать третий элемент. Я думаю, если бы я мог сделать, но это было бы неэффективно:
for payload_index in data_dictionary :
if payload_index <> 3:
assembled_packet.append(data_dictionary[payload_index])
я мог бы сделать это в два этапа и сделать первые три элемента, но проблема в том, что я не могу понять, как получить остальное, так как число элементы после третьего варьируются. Я попытался использовать невероятно высокий индекс (ниже), но это, очевидно, не удается:
#get element 1 and two
for index in range(0,3):
assembled_packet.append(data_dictionary[index])
#get element 1 and two
for index in range(4,999):
assembled_packet.append(data_dictionary[index])
Любые идеи? Благодаря!
Вы говорите, что 'if payload_index <> 3' неэффективен? Вы это оценили? – Gabe
Словарь не обязательно в порядке - вы имеете в виду элемент с ключом 3? – Mark
'Моя проблема в том, что мне нужно всегда пропускать третий элемент'. Имейте в виду, что у dicts нет порядка! – ChristopheD