加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在python中排序字符串值

发布时间:2020-12-20 11:08:38 所属栏目:Python 来源:网络整理
导读:我有一本字典: data = { 'Description': 'test','Amount': '100000','TerminalKey': '1508852342226','OrderId': 'TokenExample','Password': '123456'} 我需要获得一个排序值的字符串: '100000testTokenExample1234561508852342226' 我的代码: data = ""
我有一本字典:

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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读