我有一个这种形式的python字典:
text.items()[: 2]
[(('id','id1'), text', ('id','id1'), 'text', ('id','id1'), 'text')]
我想按 id1 对其进行排序。有什么帮助吗?
我有一个这种形式的python字典:
text.items()[: 2]
[(('id','id1'), text', ('id','id1'), 'text', ('id','id1'), 'text')]
我想按 id1 对其进行排序。有什么帮助吗?
Python 字典是无序的,因此无法排序。但是,正如您似乎理解的那样,可以对从其items()
或iteritems()
方法返回的值进行排序。如果字典的键是您的示例中所示的元组,并且您想对每个元组中的第二个值进行排序,那么这是一种有效的方法:
text = {('idA','id2'): 'text',
('idB','id1'): 'text',
('idC','id3'): 'text',}
print sorted(text.iteritems(), key=lambda item: item[0][1])
输出:
[(('idB', 'id1'), 'text'), (('idA', 'id2'), 'text'), (('idC', 'id3'), 'text')]
假设 dictionary.items 返回:
items = [(('id','id1'), 'text'), (('id','id1'), 'text'), (('id','id1'), 'text')]
您可以通过执行以下操作按元组的第一个元素排序:
items.sort(key=lambda item: item[0][0])