按分数对字典排序.如果分数相同,则按名称对其进行排序
import operator
dt={
'sudha' : {'score' : 75} ,
'Amruta' : {'score' : 95} ,
'Ramesh' : {'score' : 56} ,
'Shashi' : {'score' : 78} ,
'Manoj' : {'score' : 69} ,
'Resham' : {'score' : 95}
}
sorted_x1 = sorted(dt.items(), key=operator.itemgetter(1))
print sorted_x1
Run Code Online (Sandbox Code Playgroud)
输出是:
[('Ramesh', {'score': 56}), ('Manoj', {'score': 69}),
('sudha', {'score': 75}),
('Shashi', {'score': 78}), ('Resham', {'score': 95}), ('Amruta',{'score': 95})]
Run Code Online (Sandbox Code Playgroud)
现在我想按名称对最后两个元素进行排序,因为它的分数相同.
下面给出了这个课程,这将打印20_20.现在直到第5行代码相同,我不希望T.a当我改变值时改变值T1.a.怎么解决?
class Test:
def __init__(self, val):
self.a = val
T = Test(10)
T1 = T
T1.a = 20
print T.a + '__' + T1.a
Run Code Online (Sandbox Code Playgroud)
预期产量为10_20.