我想对从小字符开始的给定列表进行排序?

given list

 ["Ram", "vikram", "Avneet", "navneet", "ghazala", "Komal", "sita", "aman", "Babar"]

output (this is expected output)

['aman', 'ghazala', 'navneet', 'sita', 'vikram', 'Avneet', 'Babar', 'Komal', 'Ram']

how I get this answer

list2 = sorted(list1)
for i in list2:
    if i.istitle():
        int = list2.index(i)
        
for i in range(int+1):
    appended = list2[0]
    list2.remove(appended)
    list2.append(appended)
    
print(list2)

但我使用了 2 个 for 循环,这是一个糟糕的编码,请提供另一个更短、更清晰、更易读的解决方案

我想在这个给定的列表中首先从小写字母开始对列表进行排序

回答

您可以为key首先检查字符串.istitle(即以大写字母开头)的参数编写一个 lambda ,然后按字母顺序排序。

>>> sorted(data, key=lambda i: (i.istitle(), i))
['aman', 'ghazala', 'navneet', 'sita', 'vikram', 'Avneet', 'Babar', 'Komal', 'Ram']


以上是我想对从小字符开始的给定列表进行排序?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>