Python:如何使用不区分大小写的attrgetter对对象列表进行排序

2024-09-28 22:37:01 发布

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

self.data = sorted(self.data, key=attrgetter('word'))

在自我数据是Word对象的列表。Word对象具有“Word”、“definition”、“example”和“difficity”属性。我想按每个word对象的“word”字符串进行排序,上面的代码可以这样做,但它不区分大小写。我该如何使排序不区分大小写?在

我尝试过另一个问题的答案here,但当我尝试时,它说“TypeError:'Word'object is not subscribable”。我该怎么做才能让它成功呢?在

谢谢。在


Tags: 数据对象keyself列表data排序example
2条回答

尝试类似于:

self.data = sorted(self.data, key=lambda w: attrgetter('word')(w).lower())

尽管如此,您可能会更好地使用:

^{pr2}$

您可以编写自己的key函数:

self.data = sorted(self.data, key = lambda w: w.word.lower())

相关问题 更多 >