Câu hỏi này thực sự được điều chỉnh từ one previously asked by Mat.S (image). Mặc dù nó đã bị xóa, tôi nghĩ rằng đó là một câu hỏi hay, vì vậy tôi đang reposting nó với các yêu cầu rõ ràng hơn và giải pháp của riêng tôi.Sắp xếp danh sách: các số tăng dần, các chữ cái trong giảm dần
Cho một danh sách các chữ cái và con số, nói
['a', 2, 'b', 1, 'c', 3]
Yêu cầu là để sắp xếp các số tăng dần và chữ cái trong giảm dần, mà không thay đổi vị trí tương đối của các chữ cái và số. Bằng cách này, tôi có nghĩa là nếu danh sách không được phân loại là:
[L, D, L, L, D] # L -> letter; # D -> digit
Sau đó, danh sách được sắp xếp cũng phải
[L, D, L, L, D]
Các chữ cái và chữ số làm không nhất thiết thay thế trong một mô hình thường xuyên - chúng có thể xuất hiện theo bất kỳ thứ tự tùy ý nào
Sau khi sắp xếp - số tăng dần, các chữ cái sẽ giảm dần.
Vì vậy, cho ví dụ trên đầu ra là
['c', 1, 'b', 2, 'a', 3]
Một ví dụ khác:
In[]: [5, 'a', 'x', 3, 6, 'b']
Out[]: [3, 'x', 'b', 5, 6, 'a']
Điều gì sẽ là một cách tốt để làm điều này?
trông rất giống mà một: https://stackoverflow.com/questions/44685760/how- a-sort-a-list-only-sorting-strings –
@ cᴏʟᴅsᴘᴇᴇᴅ: để loại bỏ những người không hiểu rằng trang web này khuyến khích tự trả lời, tôi có trong quá khứ đã đăng bình luận theo câu hỏi của tôi: * PS. Một số có thể nghĩ rằng đó là sai lầm mà tôi trả lời câu hỏi của riêng tôi ngay sau khi đăng nó. Trước khi downvoting, xin vui lòng đọc [It's OK để hỏi và trả lời câu hỏi của riêng bạn] (http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/) . * –
@ Jean-FrançoisFabre Haha mơ hồ nhớ điều đó. Có nó là hơi tương tự. Đoán tôi đã nhặt được một mẹo khác từ đó một cách vô tình. –