python - 我想对从小字符开始的给定列表进行排序?
问题描述
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
您可以为首先检查字符串(即以大写字母开头)的参数编写一个 lambda .istitle
,然后按字母顺序排序。
>>> sorted(data, key=lambda i: (i.istitle(), i))
['aman', 'ghazala', 'navneet', 'sita', 'vikram', 'Avneet', 'Babar', 'Komal', 'Ram']
推荐阅读
- mysql - 是否可以在没有复制滞后/停机时间的情况下运行 OPTIMIZE TABLE?
- python - 如何在小组赛后将所有文档的字段存储在结果中?
- flutter - 如何转换 int“TimeOfDay(00:00)” instring TimeOfDay
- ruby - 将函数从一个类传递给另一个类时出现未定义的方法错误
- r - 将图旋转 90 度以进行边际分布
- filtering - (Odoo)如何过滤保存在模型字段中的行/实体?
- c# - 根据 ObservableCollection 中项目的属性使用 CanExecute 创建命令
- windows - 更改 cygwin 主路径
- javascript - 如何从 nodejs 服务器 WebRTC 在 VLC 上创建链接
- swiftui - swiftUI如何创建气泡效果?