如何在Python中根据值的首字母对列表值进行排序

sree

我的清单有问题。我有一个list =['randomf','decisiont','extremeg']附有另一个列表的list2 = ['bike','age','car'],,然后根据它进行排序,这意味着第一个列表的每个值都具有的附加值,list2(e.g:'randomf_bike','randomf_age' ,'randomf_car')但是当我排序时,它变成这样(例如:'randomf_age','randomf_bike' ,'randomf_car') Its不仅根据该列表的第一个字母进行排序值,还可以根据“ _”后面的字母进行排序。如何根据第一个字母进行排序?

My code: 
list =['randomf','decisiont','extremeg'] 
list2 = ['bike','age','car']
new_list =  [el1+'_'+el2 for el2 in list2 for el1 in sorted(set(list))]
new_list = sorted(new_list)
which gives : new_list = ['decisiont_age','decisiont_bike' ,'decisiont_car','extremeg_age','extremeg_bike' ,'extremeg_car','randomf_age','randomf_bike' ,'randomf_car'] 
The excepted output is:
 new_list = ['decisiont_bike','decisiont_age' ,'decisiont_car','extremeg_bike','extremeg_age' ,'extremeg_car', 'randomf_bike','randomf_age' ,'randomf_car']
布莱克金

您可以给key调用函数sorted如果只想对字符串中第一个_字符之前的部分进行排序,则可以执行sorted(new_list, key=lambda s: s.split('_', 1)[0])

但是,如果从一开始就以正确的顺序组装复合字符串,那么您也可以避免第二种排序。我认为您可以更改两级迭代的顺序,它应该与您想要的相匹配(您已经在对第一个列表进行排序):

new_list =  [el1+'_'+el2 for el1 in sorted(set(list)) for el2 in list2] # change order here
# don't sort again!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据首字母对数据排序

Python-如何对字母和数字值列表进行排序?

如何在 Highcharts 中用百万和十亿首字母格式化 yaxis 值?

如何在飞镖中获取弦的首字母?

如何在SQL的首字母缩写中删除空格?

如何根据元组列表中的值对元组进行排序

如何在Spark Java中根据其值对列表进行排序?

如何根据列值对列表进行排序

如何根据字典值对列表进行排序?

如何根据列表值对元组进行排序?

如何按名称首字母按字母顺序对表格进行排序?

根据列表中的值对字典进行排序

如何在lua中根据多个值对表进行排序?

如何根据用户输入的首字母缩写从数组列表中删除一系列字符串对象?

按首字母排序

如何根据python中的特定条件对值进行排序?

按R中的首字母和数字对多列进行排序

如何在Robotframework中对列表进行排序并返回值

根据字符串的首字母对R中的类别进行分组?

根据首字母和列中是否存在星号进行过滤

如何根据python中的数组值排序列表?

在Python中,给定字典中包含值列表的字典,如何根据该列表中的项目数量对字典进行排序?

根据值中列表的值进行字典排序

根据Python中的自定义字母对字符串值进行排序

如何用语言规则按首字母对标题列表进行分组?

根据列表 B 的值对包含对值 (Key,Value) 的列表 A 进行排序,该值是列表 A 中对的值

如何在Python中按字典值对字典列表进行部分排序

如何在python中对具有浮点值的列表进行排序?

如何根据列表中的相同设置值对列表列表进行排序?