Python 字典 : print sorted values per key string

标签 python dictionary

我有一个包含键/值对的 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/

相关文章:

python - 读取文件时如何从 Python 中的行分隔符中排除 U+2028?

python - 单击终端中的元素

python - 如何将数据框的 column_name 用作行上的值?

Python内联增加多个变量

python - 应用组卷积,其中每个组都被限制为具有相同的权重

python - 如何从用户那里获取输入以在字典中查找键并输出其值?

python - 每个单元格中带有字典的二维数组

c++ - 关联两个独立的键

vba - 在函数中创建字典并在子函数中使用它

java - android:检查一个字符串是否是英文字典?