[英]I want to remove the string from the list which contains '!' character but after running this code I noticed that it skips the next string in the list
[英]I want to sort the given list which start from small character?
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 循环,这是错误的编码,请提供另一种更短、更清晰、更易读的解决方案
我想在这个给定的列表中使用从小写字母开始的所有项目对列表进行排序
你可以写一个 lambda 作为key
参数,首先检查字符串.istitle
(即以大写字母开头),然后按字母顺序排序。
>>> sorted(data, key=lambda i: (i.istitle(), i))
['aman', 'ghazala', 'navneet', 'sita', 'vikram', 'Avneet', 'Babar', 'Komal', 'Ram']
您可以使用 dict 并在那里存储两个列表!
sorting = {
'lowercase':[],
'uppercase':[]
}
for value in original_list:
if value.istitle():
sorting['uppercase'].append(value)
else:
sorting['lowercase'].append(value)
#extend
result = sorted(sorting['lowercase']) + sorted(sorting['uppercase'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.