2011-10-05 5 views
1
self.data = sorted(self.data, key=attrgetter('word')) 

self.data을 attrgetter을 사용하여 개체의 목록을 정렬하는 방법 워드 개체의 목록입니다. Word 개체에는 '단어', '정의', '예제'및 '어려움'특성이 있습니다. 각 Word 개체의 '단어'문자열별로 정렬하고 싶습니다. 위의 코드는 대소 문자를 구분하지 않는 것을 제외하고는 수행합니다. 정렬 사건을 구분하지 않으려면 어떻게해야합니까?파이썬 : 소문자 구분과

here 다른 질문에서 해결책을 시도했지만 시도했을 때 "TypeError : 'Word'객체는 subscriptable이 아닙니다."라고했습니다. 작동하도록하려면 어떻게해야합니까?

감사합니다. 간단하게 사용하여 그와 당신은 아마 떨어져 더 나은 것,

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

비록 :

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

답변

2

당신은 당신의 자신의 key 기능을 쓸 수

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

고맙습니다! 완벽하게 작동했습니다. – Jigglypuff