self.data = sorted(self.data, key=attrgetter('word'))
self.data是字对象的列表。 字对象有“字”,“定义”,“例如”和“困难”属性。 我想每一个Word对象的“字”字符串进行排序,而上面的代码做,除了它不区分大小写。 我怎么会去使排序不区分大小写?
我从问另一个问题尝试解决方案在这里 ,但是当我试了一下,说:“类型错误:“Word的对象不是标化”。 我能做什么,使其工作?
谢谢。
self.data = sorted(self.data, key=attrgetter('word'))
self.data是字对象的列表。 字对象有“字”,“定义”,“例如”和“困难”属性。 我想每一个Word对象的“字”字符串进行排序,而上面的代码做,除了它不区分大小写。 我怎么会去使排序不区分大小写?
我从问另一个问题尝试解决方案在这里 ,但是当我试了一下,说:“类型错误:“Word的对象不是标化”。 我能做什么,使其工作?
谢谢。
您可以编写自己的key
功能:
self.data = sorted(self.data, key = lambda w: w.word.lower())
尝试是这样的:
self.data = sorted(self.data, key=lambda w: attrgetter('word')(w).lower())
不过,与您可能会好得多简单地使用:
self.data = sorted(self.data, key=lambda w: w.word.lower()