通过这篇出色的文章,我能够按字符串属性对对象列表进行排序:
但是,我还需要排序时按字母顺序忽略大小写。假设我有一个对象列表,每个对象都有一个属性“名称”:
class MyObject (object):
def __init__(self):
MyObject.Name = None
itemsList = []
object1 = MyObject()
object1.Name = "Orange"
itemsList.append(object1)
object2 = MyObject()
object2.Name = "apple"
itemsList.append(object2)
object3 = MyObject()
object3.Name = "Banana"
itemsList.append(object3)
我可以这样对它们进行排序:
itemsList.sort(key=lambda item : item.Name)
但是我怎么也忽略大小写呢?我尝试在最后一行将lower
扔到Name
上,但这对我不起作用。
答案 0 :(得分:1)
根据建议,在将字符串映射为小写字母后比较字符串:
itemsList.sort(key=lambda item : item.Name.lower())