我的列表包含需要根据字母顺序排序的字典
[
{
'index': False,
'definition': {
'id': 1111111L,
'value': u'Large Content'
},
'id': 1234567L,
'name': {
'id': 9999999999L,
'value': u'INTRODUCTION'
}
},
{
'index': False,
'definition': {
'id': 22222222L,
'value': u'Large Content'
},
'id': 2L,
'name': {
'id': 3333333333333l,
'value': u'Abstract'
}
},
{
'index': False,
'definition': {
'id': 8888888888L,
'value': u'Large Content'
},
'id': 1L,
'name': {
'id': 343434343434L,
'value': u'Bulletin'
}
}
{
'index': False,
'definition': {
'id': 1113311L,
'value': u'Large Content'
},
'id': 333434L,
'name': {
'id': 9999999999L,
'value': u'<b>END</b>'
}
},
]
我需要根据['name'] ['value']对结果进行排序
Abstract
Bulletin
INTRODUCTION
END
但是当我这样做时,我首先得到大写字母
bg = []
for n in a:
bg = sorted(a, key=lambda n: n["name"]["value"])
INTRODUCTION
END
Abstract
Bulletin
答案 0 :(得分:6)
要使排序大小写不敏感,请在排序键中将所有内容放在小写字母中:
bg = sorted(a, key=lambda n: n["name"]["value"].lower())
答案 1 :(得分:2)
因为资本字典缩小了。在排序之前删除字母大小写:
key=lambda n: n["name"]["value"].lower()