我想在每条记录的两个字段上记录(列表)的元组不区分大小写排序。 HowTo/Sorting告诉我如何区分大小写(key=str.lower
),它告诉我如何对两个键进行排序(key=operator.itemgetter(0,1)
)。我试过如下:使用两个键=参数排序
parts = [
('A',2,''),
('a',1,''),
('b',2,''),
('B',1,''),
]
foo = sorted(parts, key=str.lower, key=operator.itemgetter(0,1))
print(foo)
Python并不在同一sorted
买两key=
秒。它说:SyntaxError: keyword argument repeated
,指向key=
的第二个实例。
我怎样才能得到不区分大小写的排序,并在多个字段上排序呢?
正确,您不能在函数调用中传递具有两个不同值的相同函数参数。 – Jens
你只能使用一个排序键,所以你需要一个lambda –
试着在这里使用'itemgetter','key = lambda x:operator.itemgetter(0)(x).lower()'是我唯一能够考虑到。 –