Вы должны отсортировать ключи , а затем соединить соответствующие значения .Пожалуйста, попробуйте:
data = {
'Description': 'test',
'Amount': '100000',
'TerminalKey': '508852342226',
'OrderId': 'TokenExample',
'Password': '123456',
}
''.join(data[k] for k in sorted(data))
=> '100000testTokenExample123456508852342226'
Конечно, ваше решение также работает (хотя и немного дольше).Вам просто нужно использовать itemgetter(0)
в качестве ключа сортировки, это будет ключ dict :
''.join(v for k, v in sorted(data.items(), key=itemgetter(0)))
=> '100000testTokenExample123456508852342226'
Еще проще: нам даже не нужно явно указывать сортировкуключ, по умолчанию порядок кортежей будет делать именно то, что вы хотите:
''.join(v for k, v in sorted(data.items()))
=> '100000testTokenExample123456508852342226'