如何对包含实数的词典排序

2024-04-26 22:57:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着整理我的字典:

def averagefunc():
    global new_d
    avgDict = {}
    for k,v in new_d.items():
        avgDict[k] = sum(v)/ float(len(v))
    avgValue =sorted(avgDict.items(), key=lambda x: (x[1], x[0]))
    print (avgValue)
    print ("----------")

虽然它没有对字典进行排序,但它只是不排序地打印出来。你知道吗

new\u d存储一个字典:包含一个名字,然后每个名字有3个分数。你知道吗

{'Tom': [4,5,8] ,'Bill': [2,5,7], 'Fred' :[6,8,3]}

Tags: innewfor字典排序defitems名字
1条回答
网友
1楼 · 发布于 2024-04-26 22:57:54

How do I sort a dictionary

你没有。字典没有秩序感。你知道吗

似乎您希望new_d中的值是数字列表,但至少有一个不是。你知道吗

更新

我尝试了你的更新代码,它对我有效:

print avgValue
>> [('Bill', 4.666666666666667), ('Fred', 5.666666666666667), ('Tom', 5.666666666666667)]

元组的有序列表,第一个元素是名称,第二个元素是平均值。你知道吗

相关问题 更多 >