我有一个包含键/值对的 Python 字典:
visited = {
'3':['A', '0'],
'25':['U', '3'],
'1':['G', '0'],
'32':['C', '0'],
'24':['C', '1'],
'27':['U', '0'],
'17':['C', '5'],
'15':['G', '1'],
'4':['G', '2']
}
我试着用集合对它们进行排序
import collections
...
s = collections.OrderedDict(sorted(visited.items()))
for k, v in s.iteritems():
print ' '.join(v)
我收到:
1 G 0
15 G 1
17 C 5
24 C 1
25 U 3
3 A 0
32 C 0
4 G 2
我该如何修复它:
1 G 0
3 A 0
4 G 2
15 G 1
17 C 5
24 C 1
25 U 3
32 C 0
最佳答案
您正在对字符串进行排序,并且希望按数字排序:
>>> s = OrderedDict((k, visited[k]) for k in sorted(visited, key=int))
>>> s
OrderedDict([('1', ['G', '0']),
('3', ['A', '0']),
('4', ['G', '2']),
('15', ['G', '1']),
('17', ['C', '5']),
('24', ['C', '1']),
('25', ['U', '3']),
('27', ['U', '0']),
('32', ['C', '0'])])
关于Python 字典 : print sorted values per key string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36607003/