我有一个这种形式的python字典:
text.items()[:2]
[(('id','id1'), text', ('id','id1'), 'text', ('id','id1'), 'text')]
我希望按id1排序。有什么帮助吗?
答案 0 :(得分:1)
假设dictionary.items返回:
items = [(('id','id1'), 'text'), (('id','id1'), 'text'), (('id','id1'), 'text')]
您可以通过执行以下操作对元组的第一个元素进行排序:
items.sort(key=lambda item: item[0][0])
答案 1 :(得分:1)
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')]