如何让这个排序不区分大小写?
def sortProfiles(p):
return sorted(p, key=itemgetter('first_name'))
我有一个包含字典的列表。这个函数可以让我按照字典里的first_name来排序。不过,它是区分大小写的。
6 个回答
1
看起来你想要用这个方法:sorted(p, key=lambda d: d['first_name'].lower())
。
2
这里有一种方法:
return sorted(p, key=lambda x: x['first_name'].lower())
10
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。比如说,我们可能希望在用户输入错误时,程序能够给出提示,告诉他们哪里出错了。这种情况下,我们就会用到“条件语句”。
条件语句就像是一个判断的开关,它会根据我们设定的条件来决定接下来要做什么。如果条件成立,程序就会执行某些代码;如果条件不成立,程序则会跳过这些代码,继续执行后面的部分。
举个简单的例子,假设我们有一个程序,它需要检查用户输入的密码是否正确。如果用户输入的密码是“123456”,那么程序就会显示“密码正确”;如果输入的是其他密码,程序就会显示“密码错误”。这个判断过程就是通过条件语句来实现的。
总之,条件语句帮助我们在编程中做出决策,让程序能够根据不同的情况做出不同的反应。
>>> from operator import itemgetter
>>> p = [{'fn':'bill'}, {'fn':'Bob'}, {'fn':'bobby'}]
>>> sorted(p, key=itemgetter('fn'))
[{'fn': 'Bob'}, {'fn': 'bill'}, {'fn': 'bobby'}]
>>> sorted(p, key=lambda x: x['fn'].lower())
[{'fn': 'bill'}, {'fn': 'Bob'}, {'fn': 'bobby'}]
>>>