поэтому я пытаюсь отправить пакет с некоторыми ключами, которые я положил в словарь.они должны быть напечатаны в определенном порядке, поэтому я попытался создать функцию, чтобы изменить их порядок.Я предполагаю, что python делает что-то, чтобы изменить порядок в том порядке, в котором я не хочу, но я не уверен, почему.
В настоящее время я использую эту функцию, чтобы попытаться добиться этого.
def array_sort(array, sort): #yeah, it's array cuz i php like that.
ordered = {}
for i in range(0,len(sort)):
if sort[i] in array:
ordered[sort[i]] = array[sort[i]]
keys = array.keys()
return ordered
order = "l5,l4,l3,l2,q,y,k,k3,d1,z,p,c,b,d3,dt,N,n,a,h,v".split(',')
keys = array_sort(infos, order)
по какой-то причине это не работает, infos
- это список клавиш в алфавитном порядке, я просто не уверен, почему функция выводит клавиши в нечетном порядке.(во-первых, когда 15 должно быть первым: S)
Если вы знаете лучший способ сделать это, не стесняйтесь сказать мне, я только недавно начал работать на Python, так что я не настолько знаком.
РЕДАКТИРОВАТЬ: я смог распечатать ключи в правильном порядке, используя это сразу после создания словаря заказа.даже если он был просто выведен в виде строки, порядок будет сохранен (на данный момент), и вы можете .split () его снова, чтобы получить словарь в правильном порядке (я думаю).
for i in range(0, len(order)):
if order[i] in infos:
packet += order[i] + '="' + infos[order[i]] + '" '