Làm cách nào để sắp xếp danh sách các chuỗi theo số key=len
trước tiên bằng key=str
? Tôi đã thử những điều sau nhưng nó không đem lại cho tôi những loại mong muốn:Cách chỉ định 2 khóa trong python được sắp xếp (danh sách)?
>>> ls = ['foo','bar','foobar','barbar']
>>>
>>> for i in sorted(ls):
... print i
...
bar
barbar
foo
foobar
>>>
>>> for i in sorted(ls, key=len):
... print i
...
foo
bar
foobar
barbar
>>>
>>> for i in sorted(ls, key=str):
... print i
...
bar
barbar
foo
foobar
tôi cần phải nhận được:
bar
foo
barbar
foobar
chỉ 2c nếu hiệu suất quan trọng: một hàm độc lập phải nhanh hơn nhiều so với 'lambda'. – bereal
@root: thật sao? Tại sao? – Eric
@Eric - Duh ... Sau khi thử nghiệm nó - Tôi phải nói rằng thực sự không có bất kỳ sự khác biệt về hiệu suất. – root