data = { 'Description': 'test','Amount': '100000','TerminalKey': '1508852342226','OrderID': 'TokenExample','Password': '123456'}
我需要获得一个排序值的字符串:
'100000testTokenExample1234561508852342226'
我的代码:
data = "".join([v for k,v in sorted(data.items(),key=itemgetter(1))])
输出:
'1000001234561508852342226TokenExampletest'
有人可以解释为什么我会得到一个不同的价值,以及我如何得到我需要的价值?
解决方法 您必须对键进行排序,然后加入相应的值.请尝试一下:data = { 'Description': 'test','TerminalKey': '508852342226','Password': '123456',}''.join(data[k] for k in sorted(data))=> '100000testTokenExample123456508852342226'
当然,您的解决方案也可以工作(虽然它有点长).你只需要使用itemgetter(0)作为排序键,这将是dict的键:
''.join(v for k,key=itemgetter(0)))=> '100000testTokenExample123456508852342226'
更简单:我们甚至不需要显式指定排序键,默认情况下,元组的排序将完全符合您的要求:
''.join(v for k,v in sorted(data.items()))=> '100000testTokenExample123456508852342226'总结
以上是内存溢出为你收集整理的在python中排序字符串值全部内容,希望文章能够帮你解决在python中排序字符串值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)