我有这样的字典:
{(4, 4, 'TO'): '1.0', (5, 3, 'NNP'): '0.061274509803921566', (3, 3, 'VBP'): '0.07894736842105263', (3, 3, 'VB'): '0.012048192771084338', (2, 2, 'X_TO'): '1.0', (0, 0, 'NP_PRP'): '0.3235294117647059', (6, 6, 'NNP'): '0.051470588235294115', (1, 2, 'VBP'): '0.02631578947368421', (2, 3, 'TO'): '1.0', (4, 4, 'X_TO'): '1.0'}
其中键是(int,int,str)的元组。
我希望以最左边的元组整数从最小到最大的顺序循环它(在for
循环中)。因此,它首先循环:(0, 0, 'NP_PRP')
然后(1, 2, 'VBP')
。
在第一个整数之后的顺序并不重要。
答案 0 :(得分:3)
然后这样做。元组按第一个元素顺序自动排序。 (然后是第二个元素顺序等)。
d = {(4, 4, 'TO'): '1.0', (5, 3, 'NNP'): '0.061274509803921566', (3, 3, 'VBP'): '0.07894736842105263', (3, 3, 'VB'): '0.012048192771084338', (2, 2, 'X_TO'): '1.0', (0, 0, 'NP_PRP'): '0.3235294117647059', (6, 6, 'NNP'): '0.051470588235294115', (1, 2, 'VBP'): '0.02631578947368421', (2, 3, 'TO'): '1.0', (4, 4, 'X_TO'): '1.0'}
for T in sorted(d):
print(T)
#(0, 0, 'NP_PRP')
#(1, 2, 'VBP')
#(2, 2, 'X_TO')
#(2, 3, 'TO')
#..