我有一个dict喜欢这个:
mydict = {
'Peter': [21, 2, 42.0],
'Kate': [15, 3, 45.0],
'Tom': [16, 6, 96.0],
'Lucy': [28, 4, 112.0],
}
键是字符串,值是列表。 我想根据字典值降序中的第一个元素打印mydict。
例如,我想要这个输出:
'Lucy',28,4,112.0
'Peter',21,2,42.0
'Tom',16,6,96.0
'Kate',15,3,45.0
如何输出这样的结果?
答案 0 :(得分:3)
您可以迭代dict.items
的排序结果,并使用str.join
:
mydict = {
'Lucy': [28, 4, 112.0],
'Peter': [21, 2, 42.0],
'Kate': [15, 3, 45.0],
'Tom': [16, 6, 96.0]}
for a, b in sorted(mydict.items(), key=lambda x:x[-1][0] if isinstance(x, list) else x, reverse = True):
print('{},{}'.format(a, ','.join(map(str, b)) if isinstance(b, list) else b))
输出:
Lucy,28,4,112.0
Peter,21,2,42.0
Tom,16,6,96.0
Kate,15,3,45.0