此问题在此处已有答案:
(19个答案)
1小时前关闭。
完整错误:'str' object has no attribute 'match_key'
我试图根据对象中键的值对字典进行排序,但是我遇到了错误。进行这种排序的最佳方法是什么?
代码:
#part of loop
x = {
'id': f'{item.id}',
'post': item,
'match_key': match_percentage
}
temp_dict.update(x)
sorted_dict = sorted(temp_dict, key=operator.attrgetter('match_key'))
1条答案
按热度按时间6ojccjat1#
如果你想按键对字典列表进行排序,你需要使用
operator.itemgetter
,如下所示:解释
dictionaries
表示项的集合。因此,存储在字典中的值被视为items
,而不是attributes
。当我们考虑如何访问字典中的值时,这是有意义的。您可以使用 * 括号表示法 *[]
访问集合中的项,无论是通过索引位置还是键。但不能使用 * 点运算符 *.
通过键检索字典值。因为它们没有作为属性存储在Dict上。进一步阅读