我試圖按字母順序排列列表,其中大寫字母應該在小寫字母之前出現。python:如何根據大寫字母按字母順序排序列表
l = ['a', 'b', 'B', 'A']
sorted(l)
應導致['A','a','B','b']
我已經試過這兩種形式,但都無濟於事;
>>> sorted(l, key=lambda s: s.lower())
['a', 'A', 'b', 'B']
>>> sorted(l, key=str.lower)
['a', 'A', 'b', 'B']
完美解決方案提出了更復雜的解決方案。對不起我的新空房禁地之前的評論:) –
如果你有非英文字符串,必須非常小心的是依賴於使用'.lower()方法'不區分大小寫的排序,它們只能用於字符的ASCII子集。正確的方法涉及到一些地區設置的擺弄。 – wim
例如,這種解決方案並不用於'LST = [ 'A', 'B', 'B', 'A']'工作有關python 2(可能就會對python3) – wim