在python中排序字符串值

在python中排序字符串值,第1张

概述我有一本字典: data = { 'Description': 'test', 'Amount': '100000', 'TerminalKey': '1508852342226', 'OrderId': 'TokenExample', 'Password': '123456'} 我需要获得一个排序值的字符串: '100000testTokenExampl 我有一本字典:

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中排序字符串值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1192195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存