在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' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |